is_cached()Retorna true si hay cache valido para ese templateDescripción boolis_cachedstringtemplatestringcache_idstringcompile_id
Esto solamente funciona si
caching está asignado a true.
ver también caching section.
is_cached()
caching = true;
if(!$smarty->is_cached("index.tpl")) {
// do database calls, assign vars here
}
$smarty->display("index.tpl");
?>
]]>
Usted también puede pasar un identificador de $cache como un
segundo parámetro opcional en el caso que usted quiera
multiples caches
para el template dado.
Usted puede proporcionar el identidicador como un tercer parametro
opcional. Si usted omite ese parametro la persistencia del
$compile_id es usada.
Si usted no quiere pasar el
identificador de cache
solamente quiere pasar el compile id debe pasar null
como el identidficador de cache.
is_cached() con templates con multiple-cache
caching = true;
if(!$smarty->is_cached("index.tpl", "FrontPage")) {
// do database calls, assign vars here
}
$smarty->display("index.tpl", "FrontPage");
?>
]]>
Nota técnica
Si is_cached retorna true el carga actualmente
la salida del cache y lo guarda internamente. cualquier subsecuente
llama a display() o
fetch() y retorna este internamente
guardando la salida y no intenta volver a cargar el archivo del cache.
Esto previene una condicion de la carrera que puede ocurrir cuando un
segundo proceso limpie el cache entre las llamadas a is_cached mostradas
en el ejemplo de arriba. Esto significa tambien llamar al
clear_cache() y otros cambios
en el cache-settings que no tiene efecto despues que
is_cached retorna true.
Ver también
clear_cache(),
clear_all_cache(),
y
caching section.