is_cachedboolis_cachedstringtemplatestringcache_idstringcompile_id
Restituisce &true; se č presente una cache valida per questo template.
Funziona soltanto se caching č
impostato a true.
is_cached
caching = true;
if(!$smarty->is_cached("index.tpl")) {
// faccio le chiamate al database, assegno le variabili
}
$smarty->display("index.tpl");
?>
]]>
Potete passare anche una cache id come secondo parametro
opzionale, nel caso vogliate cache multiple per il template
dato.
Potete fornire un compile id come terzo parametro opzionale.
Se lo omettete, viene usato il valore della variabile persistente
$compile_id.
Se non volete passare una cache id ma volete passare un compile
id dovete passare null come cache id.
is_cached con template a cache multiple
caching = true;
if(!$smarty->is_cached("index.tpl", "FrontPage")) {
// faccio le chiamate al database, assegno le variabili
}
$smarty->display("index.tpl", "FrontPage");
?>
]]>
Nota tecnica
Se is_cached restituisce true, in realtā carica
l'output in cache e lo memorizza internamente. Ogni chiamata
successiva a display() o a
fetch() restituirā questo output
memorizzato internamente, e non cercherā di ricaricare il file
della cache. Questo evita una situazione che potrebbe verificarsi
quando un secondo processo elimina la cache nell'intervallo fra
la chiamata a is_cached e quella a display, nell'esempio visto
prima. Questo significa anche che le chiamate a
clear_cache() ed altre
modifiche fatte sulle impostazioni della cache potrebbero non avere
effetto dopo che is_cached ha restituito true.