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. 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. 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");