Contao Tipps

FileCache bzw. Combiner abschalten

In Contao 2.10 wurde ein FileCache und ein Combiner eingebaut, die für eine Performance-Optimierung sorgen. Leider machen diese das Entwickeln zum Problem. Der FileCache bekommt nicht in allen Fällen die Änderung am System mit und sorgt z.B. dafür, dass noch ein ursprüngliches Template verwendet wird, statt das neu angelegte.

Der Combiner fasst alle CSS Dateien zu einer einzigen Datei zusammen. Somit ist im Fehlerfall nicht mehr ersichtlich, aus welcher Datei der Eintrag (den man z.B. in Firebug sieht) zu finden ist.

In der 2.11 soll ja das Caching mittels dem Debug-Modus unterdrückbar werden. Bis dahin ist es aber noch ein langer Weg. Im Forum kamen dazu Lösungen von "Toflar" und "tril" wie folgt:

Über initconfig.php

Man schreibt in die Datei system/config/initconfig.php folgendes:

Files::getInstance()->rrdir('system/html', true);
Files::getInstance()->rrdir('system/tmp', true);
// Do not use the following line if working with Theme+ 
Files::getInstance()->rrdir('system/scripts', true);

Hier werden also bei jedem Aufruf alle Bilder aus dem Cache gelöscht (erste Zeile), alle Webseiten und der Filecache gelöscht (zweite Zeile) sowie alle CSS und JS Files aus dem Cache gelöscht (dritte Zeile).

Achtung: Es werden dabei auch die index.html Dateien aus dem Verzeichnis html und scripts gelöscht. Diese dienen als Schutz vor einer Auflistung der Dateien.

Achtung: Nach Beendigung der Entwicklung die Zeilen wieder aus der initconfig.php löschen und die index.html wieder herstellen.

Erweiterung Theme+

Die Erweiterung Theme+ löst zwar nicht das Cache Problem, aber neben vielen anderen zusätzlichen Dingen das Problem der Zusammenfassung (Combiner). Sobald man im Backend angemeldet ist, werden die Dateien einzeln eingebunden.

Achtung: Das Verzeichnis system/scripts darf bei Verwendung mit Theme+ nicht wie oben gezeigt gelöscht werden!