fastix®: Smarty Caching - Mod Rewrite

Beitrag lesen

Moin!

Ja. Das Chaching von Smarty ist nicht besonders ausgereift

Schreib Dir diesen Spaß so um, dass Dein eigener Cache-Handler die query (?id=1&subid=2) mit berücksichtigt.

$smarty->cache_handler_func = 'DEIN_cache_handler';

In der der Funktion DEIN_cache_handler() musst Du dann natürlich $_SERVER['QUERY_STRING'].$_PHP['SELF'] oder gleich $_SERVER['REQUEST_URI'] verwenden.

Eine Möglichkeit wäre dort mit:

$CacheID = md5($_SERVER["REQUEST_URI"].$compile_id)

statt  $CacheID = md5($tpl_file.$cache_id.$compile_id);

zu arbeiten.

alternierend zu der Funktion an der verlinkten Stelle (welche in die Datenbank schreibt) kannst Du die Daten natürlich auch in eine Datei schreiben: Benutze $CacheID dann einfach als Dateiname, etwas anderes macht der originale Cache auch nicht.

Allerdings weise ich Dich darauf hin, dass der Cache dann sehr schnell sehr groß werden kann.

Und bitte:

statt 3x dieses: ' $return = $results;' und dann 'return $return;' kannst Du auch gleich return $results; schreiben.

Beachte:

An der angegebenen Stelle steht öfter '&' gemeint ist nur ein '&'. Da macht wohl das auf smarty.net verwendete CMS Ärger.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix