聪明的缓存和登录状态

时间:2009-09-12 19:04:21

标签: caching smarty

我在想。你们如何处理登录的网站场景,并在顶部注销状态。所以如果有人登录,你会说“Hello Scott”。如果有人没有登录,则会显示“登录”。

我正在使用force compile = false。并使用

(!$smarty->is_cached('index.tpl',$template_cache_id)) {
 do something
}

你们有什么用来保持一些部分不缓存而其他部分缓存这种常见情况?我的网站是photoidentify.com

谢谢!

1 个答案:

答案 0 :(得分:4)

我已经定义了一个块函数,它从缓存中排除了小块模板。

function smarty_block_dynamic($param, $content, $smarty) {
    return $content;
}

$smarty->register_block("dynamic", "smarty_block_dynamic", false);

因此,{dynamic} {/ dynamic}所包围的模板中的任何内容都不会被缓存。这允许输出例如基于会话的数据,例如登录的用户名等等。