Antwort #4 am: 25. Januar 2019, 05:50:05
Der Ordner "templates_c" wird immer gefüllt. Da kommen die fertig kompilierten Template-Dateien rein, damit Smarty das nicht bei jedem Seiten Aufruf machen muss. Vereinfacht gesagt, werden die Dateien vorbereitet. Die Variablen im Template werden dabei aber noch nicht durch den endgütigen Inhalt ausgetauscht.
Der Ordner "cache" hingegen wird nur gefüllt, wenn Caching aktiviert ist. Hierbei handelt es sich um den fertigen Code, so wie er später ausgegeben wird.
Bevor Smarty eine Datei aus dem Ordner "templates_c" nimmt, wird geprüft, ob die Template-Datei zwischenzeitlich geändert wurde. Ist dies der Fall, wird neu kompiliert. Das Änderungsdatum muss dafür allerdings neuer sein, als die kompilierte Version. Spielt man ein Backup ein, ist das Änderungsdatum älter und es wird nicht neu kompiliert. Da muss man den Cache löschen. Ansonsten sollte bei jeder neuen Änderung automatisch auch die neue Version der Template-Datei geladen werden.