[TYPO3-german] CSS Umfang optimieren
Stefan Galinski
stefan.galinski at frm2.tum.de
Tue Aug 7 13:10:25 CEST 2007
Christoph Kuhn wrote:
> Guten morgen
>
> Mit Schrecken musste ich feststellen, dass mir Typo3 im Ordner typo3temp
> jeweils eine CSS Datei aufbereitet, welche ~70k umfasst. Dies erhöht die
> Downloadzeit erheblich.
>
> Wie kriege ich es zB hin, dass die CSS-Definitionen für CHC-Forum nicht in
> dieser Datei, sondern nur auf der Forum-Seite als zusätzliche Datei
> eingebunden wird?
>
> Wie kann ich einzelne Plugins daran hindern, ihr CSS in diese Datei
> beizutragen? Wie kontrolliere ich, was in diese Datei geschrieben wird?
>
> www.websiteoptimization.com empfiehlt ja, die Webseite in möglichst wenige
> Einzelteile (sprich JS, CSS, HTML etc möglichst jeweils nur eine Datei) zu
> zersplitten. Das heisst aber, dass alles CSS, welches auch nur auf einer
> einzigen Seite vorkommt, in diese eine Datei zu schreiben.
> Daraus resultiert eine grosse Datei, welche beim ersten Aufruf
> runtergeladen werden muss.
> Was spricht nun dagegen, CSS-Code, welcher nur in einem bestimmten Bereich
> vorkommt (eben zB CHC-Forum) in einer eigenen CSS Datei nur auf den
> entsprechenden Seiten einzubinden? Dann muss nur dieser zusätzliche Teil
> runtergeladen werden.
>
> Erfahrungen? Meinungen?
>
> Gruss
>
> chris
Hi Christoph,
Um das CSS der Plugins zu trennen und nur auf den Seiten zu laden, die nötig
sind nutze ich folgenden Typoscript-Code:
z.B. tt_news
[globalVar = TSFE:id = {$plugin.tt_news.pageUID}] OR
[globalVar = TSFE:id = {$plugin.tt_news.pageUID2}]
page.includeCSS.ttnews = fileadmin/templates/pluginCSS/ttnews.css
page.includeCSS.ttnews.media = screen
[global]
Bei dieser Lösung ist allerdings zu berücksichtigen, dass du das Default-CSS
an die jeweiligen Gegebenheiten anpasst. Möchtest du jedoch das
Standard-CSS der Erweiterung beibehalten und auf den anderen Seiten löschen
empfiehlt sich diese Lösung:
z.B. cal
[globalVar = TSFE:id = {$plugin.tx_cal.calView}]
[else]
plugin.tx_cal_controller._CSS_DEFAULT_STYLE >
[global]
Da die Trennung des CSS-Codes sehr viele einzelne CSS-Dateien zur Folge hat
habe ich die Extension "scriptmerger" entwickelt. Diese bündelt alle
CSS-Dateien der Seite in eine Große. Die Erweiterung wird später um weitere
Funktionen ergänzt.
--
Stefan Galinski
More information about the TYPO3-german
mailing list