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.

在指定模板的缓存存在是返回真。只有在缓存设置为真时才可用。

Example 13-18. is_cached
例子 13-18. 是否已被缓存

$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 an optional second parameter in case you want multiple caches for the given template.

如果模板有多个缓存的话,可以通过第二个可选参数指定缓存号。

Example 13-19. is_cached with multiple-cache template
例子 13-19. 多缓存模板的判断

$smarty->caching = true;

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

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