caching - smarty 缓存和登录状态

标签 caching smarty

我想知道。你们如何处理顶部有登录和注销状态的网站场景。因此,如果有人登录,您可以说“Hello Scott”。如果有人未登录,则会显示“登录”。

我正在使用强制编译= false。并使用

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

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

谢谢!

最佳答案

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

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

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

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

关于caching - smarty 缓存和登录状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1415859/

相关文章:

javascript - 动态设置模板文件中隐藏字段的id

php - Jinja2 与 Smarty

php - 如何使 smarty 变量在 {literal}{/literal} 下工作

arrays - 如何在 smarty 模板中追加到多维数组?

javascript - 作为字符串调用 javascript 函数不起作用

android - Android Volley 请求是否自动缓存?

jquery - jquery 在 IE7 中的 GET 调用上是否需要时间戳?

java - Hiber 缓存 : Cache all fixed data permanently

Android以编程方式截屏

css - 即使在强制文件名时,Wordpress 也会缓存 CSS