is_cached

void is_cached (string template, [string cache_id])

This returns true if there is a valid cache for this template. This only works if caching is set to true.

Пример 13-18. is_cached

$smarty->caching = true;

if(!$smarty->is_cached("index.tpl")) {
    // do database calls, assign vars here
}

$smarty->display("index.tpl");

You can also pass a cache id as an optional second parameter in case you want multiple caches for the given template.

Пример 13-19. is_cached with multiple-cache template

$smarty->caching = true;

if(!$smarty->is_cached("index.tpl","FrontPage")) {
    // do database calls, assign vars here
}

$smarty->display("index.tpl","FrontPage");