![]() |
| | LinkBack | Themen-Optionen | Thema bewerten | Ansicht |
|
#1
| |||
| |||
Hi ihr, ich habe mir jetzt eine Extension für ein kleines Bilderbuch geschrieben. Nun möchte ich, dass die Extension ihr eigenes CSS bekommt. Ich habe folgendes TS in "ext_typoscript_setup.txt" eigefügt: Code: plugin.tx_meinbilderbuch_pi1 = USER
plugin.tx_meinbilderbuch_pi1 {
_CSS_DEFAULT_STYLE (
.tx-test-pi1 {
margin:0px;
padding:0px;
}
) Aber warum wird diese Datei in ALLEN Seiten eingebunden, auch wenn mein Frontend-Plugin gar nicht auf dieser Seite ist. Also auch wenn mein kleines Bilderbuch nicht auf der Seite ist wird die erzeugte CSS-Datei im Header meiner Seite eingebunden. Ich würde mich freuen, wenn ihr eine Idee für mich habt. Beste Grüße Sareen |
|
#2
| |||
| |||
| Bitte mich nicht festnageln, aber soweit ich weiß ist das einfach die Arbeitsweise von Typo3. Bei der Generierung des Header-Teils wird nicht darauf abgestellt, welche Plugins im Body verwendet werden. lg Markus |
|
#3
| |||
| |||
| - das ist aber unpraktisch. Kann ich dann von meiner Extension aus CSS per PHP generieren und an den Header senden? beste Grüße Sareen |
|
#4
| |||
| |||
| Eine einfache Möglichkeit wäre bei den betroffenen Seiten das eigene Stylesheet per Template einzubinden, entweder über conditions im allgemeinen Template oder via Extension Template nur auf den betroffenen Seiten. |
|
#5
| |||
| |||
| das begeistert mich jetzt irgendwie nicht. Kann ich nicht vom PHP-Code meiner Extension das CSS erzeugen und an Typo3 übergeben? |
|
#6
| |||
| |||
| in meinem FE-Plugin habe ich das programmtechnisch folgendermassen gelöst: (man Bedenke der Nachteile: CSS - Zusammenfass - Extensions werden hierbei übergangen) Code: /** Erst wird überprüft ob die CSS Datei existiert */
$cssPath = false;
if(file_exists($filename)) {
$cssPath = $filename;
}
if($cssPath) {
$GLOBALS['TSFE']->additionalHeaderData['tx_mailform_pi1'] .=
'<link rel="stylesheet" type="text/css" media="all" href="'.$cssPath.'">';
} oder wenn du ein CSS generierst: Code: $deinCSS = ' css css css irgend ein css '; $GLOBALS['TSFE']->additionalHeaderData['tx_mailform_pi1'] .= '<style type="text/css">'.$deinCSS .'</style>'; } Code:
$cssResource = fopen("mod1.css", "r");
$css = fread($cssResource, filesize("mod1.css"));
$this->doc->inDocStyles .= $css;
fclose($cssResource); falls man mit dem DOC Objekt arbeitet. hoffe das hat geholfen MFG Zeradun |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Eigene Extension | farid1399 | TYPO3 4.x Fragen und Probleme | 9 | 26.06.08 13:26 |
| eigene Extension für Navigation | Nedjem | Extension modifizieren oder neu erstellen | 11 | 02.04.08 12:09 |
| Rechte für eigene Extension | hhbk | TYPO3 4.x Backend | 2 | 13.03.08 13:12 |
| View für eigene Extension | flow | TYPO3 4.x Fragen und Probleme | 0 | 24.10.07 13:19 |
| Eigene Extension / Preisstaffelung | subchannel | Extension modifizieren oder neu erstellen | 0 | 26.08.07 16:50 |