28.06.201021:12

TYPO3 4.4 - Probleme mit CSS in Backend Modulen

Beim Update von TYPO3 auf Version 4.4 wurde ein nettes neues Feature eingeführt: Kompression von JavaScript und CSS Dateien sowie die Auslieferung zum Client per gzip inklusive Versionierung per timestamp.

 

Dazu müssen folgende ConfVarsin der localconf.php gesetzt werden:


$TYPO3_CONF_VARS["BE"]["compressionLevel"] und $TYPO3_CONF_VARS['BE']['versionNumberInFilename']
Neue ConfVars in TYPO3 4.4

und die .htaccess Datei angepasst werden.

 

Das sorgt für mehr Performance in Frontend und Backend, hat aber auch zur Folge das, zumindest bei mir, einige CSS Files nicht mehr korrekt eingebunden wurden -- genauer gesagt wurden die Dateien ohne Inhalt ausgeliefert.

Da ich fürs Frontend ohnehin lieber die Extension scriptmerger nutze (die neben gzip und Minifizierung noch einige nützliche Funktionen mehr bietet), wäre auch das Abschalten der Funktion ausreichend gewesen. Aus mir unerfindlichen Gründen wollte das aber auch nicht funktionieren.

 

 

Also musste eine Lösung her. Da die meisten System-Module mit Standard CSS Klassen und Elementen für ihre Ausgabe arbeiten sind bei diesen kaum Fehler in der BE-Darstellung sichtbar. Das Extension-Modul von Formhandler hingegen bindet die CSS Datei etwas regelwidrig direkt in den body ein. Funktioniert, ist aber nicht die Optimallösung.

Die System-Extension recycler nutzt für sein AJAX-gestütztes Interface eine eigene CSS Datei und interessanterweise funktionierte dessen Ausgabe. Diese bindet das CSS seit neustem wie folgt ein:

 


$this->doc->addStyleSheet('t3blog_css', t3lib_div::resolveBackPath($this->doc->backPath . t3lib_extMgm::extRelPath('t3blog') . 'lib/styles.css'));
Korrekte Einbidung von CSS Dateien in TYPO3 4.4 Backend Modulen

Da ich erst vor einiger Zeit in eben diese System-Extension nach der korrekten Methode CSS im Backend einzubinden gesucht habe, bin ich mir sicher das dort voher noch mit $this->doc->addStyleSheet gearbeitt wurde.

 

Wieso bei der Implementierung der neuen Features nicht auch die Methode addStyleSheet beachtet wurde ist mir persönlich noch ein Rätsel.

 

 

Hier gehts zum betreffenden Bug Report der Extension t3blog. Dort ist das ganze nochmal komplett dokumentiert.

 

Kommentar schreiben

Felder mit * sind Pflichtfelder

0 Kommentare