Smarty cache
Sziasztok!
Most ismerkedem a Smarty-val, annak reményében, hogy átlátható kódot tudok írni. Méginkább tetszik a cache lehetőség, amivel épp próbálkozom.
Következő probléma adódott:
Na most a **-al megjelölt feltételt ha kikommentezem, akkor láthatóan működik a gyorstárazás, mert hiába módosítom a változó értékét. Illetve létre is hozza a cache fájl. Ha megpróbálom feltétellel megvizsgálni, hogy van-e cache-fájl, akkor üres képernyőt ad vissza.
Szerintetek mit rontok el?
■ Most ismerkedem a Smarty-val, annak reményében, hogy átlátható kódot tudok írni. Méginkább tetszik a cache lehetőség, amivel épp próbálkozom.
Következő probléma adódott:
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl')) //**
$smarty -> assign('name', 'Probanév');
$smarty->display('index.tpl');
if(!$smarty->is_cached('index.tpl')) //**
$smarty -> assign('name', 'Probanév');
$smarty->display('index.tpl');
Na most a **-al megjelölt feltételt ha kikommentezem, akkor láthatóan működik a gyorstárazás, mert hiába módosítom a változó értékét. Illetve létre is hozza a cache fájl. Ha megpróbálom feltétellel megvizsgálni, hogy van-e cache-fájl, akkor üres képernyőt ad vissza.
Szerintetek mit rontok el?
Hibaüzenet
is_cached
metódusa a Smarty osztálynak, csakisCached
, bár attól függ, milyen verziójú Smarty-t használsz. Mert sajnos azt elfelejtetted leírni.isCached
A kezdők mindig a legfrissebbet töltik le, ez így volt nálam is :)
Töltöttem ám le hozzá néhány tutorialt, még egy fősulis tanáromét is, és kivétel nélkül mindenhol "is_cached" van. http://www.smarty.net/docsv2/en/api.is.cached.tpl
Ezek szerint sikerült megtalálnom a régebbi megoldásokat.
Több display()
Ha egy honlapot így akarok összerakni,
$smarty->display('header.tpl');
$smarty->display('content.tpl');
$smarty->display('footer.tpl');
...
és a headert nem szeretném cache-elni, csak a alsó kettőt.
Ez megoldható? Köszönöm előre is!
Multiple Caches Per Page