eigenes Stylesheet / CSS im Backend Modul der eigenen Extension in Typo3
Für alle die es auch interessiert. Es gibt die Möglichkeit, ein zusätzliches Stylesheet im Backendmodul einer selbst geschriebenen Typo3-Extension zu laden.
Konfiguration
In der main-Funktion des Backendmoduls wird per
$this->doc = t3lib_div::makeInstance('mediumDoc');eine Instanz des template-Objektes erstellt, welches einige interessane Funktionen bietet.
(Nachzulesen in der offiziellen Klassendokumentation).
Unter Anderen besitzt es die Membervariable styleSheetFile2, welche standardmäßig nicht gesetzt ist.
Und genau hier docken wir an. Beispielhaft hier mal meine Implementation:
$this->doc->styleSheetFile2 = "../".substr(t3lib_extMgm::extPath($this->extName),strlen(PATH_site))."mod1/style.css";
$this->extName habe ich selbst als Membervariable meines Module gesetzt (tx_meineExtension).
Die style.css liegt wie zu erkennen im Ordnerdes mod1-Verzeichnisses.
Die subst-Funktion wird verwendet um einen relativen Pfad zu generieren.
Update
Robert Heel postete diesen (einfacheren) Vorschlag – Danke!
$this->doc->styleSheetFile2=$GLOBALS["temp_modPath"].’style.css’;











Die Variable $this->extName ist bei mir nicht gesetzt. Dafür funktioniert
$this->doc->styleSheetFile2=$GLOBALS["temp_modPath"].’style.css’;
Hallo,
danke für Deine Implementation. Wie ich oben schon erwähnte, habe ich $this->extName selbst gesetzt und das CSS beispielhaft implementiert.
Eine Frage habe ich zu deiner Lösung:
Ist $GLOBALS["temp_modPath"] der Pfad zum aktuellen mod-Verzeichnis einer geladenen Extension oder wohin hast du dein CSS-File gespeichert?
Grüße
Kleine Frage am Rande…
Im backend hat man ja normalerweise den pagetree (ausser wenn man im condensed mode werkelt…)
wie kann ich jetzt im index.php sagen, dass ich den pagetree, wenn wer mein mod anklickt, nicht mehr sehen will…?
hallo,
hab jetzt gerade keine zeit um tiefer zu graben aber probiers mal mit
$this->doc = t3lib_div::makeInstance('bigDoc');gib Bescheid obs geklappt hat :)
Beste Grüße
Hi mediavrog, danke erst einmal für die antwort, leider hat das auch nicht die auswirkung, die ich mir wünschen würde… er zeigt noch immer den pagetree…
was ich eventuell versuchen werde… eine backend testext machen, und mal die index.php complett leeren, um zu schauen, woher er den tree genau bekommt…