【问题标题】:Can Magento use a session variable in a cache key?Magento 可以在缓存键中使用会话变量吗?
【发布时间】:2012-02-23 02:53:14
【问题描述】:

我正在对几个主页布局进行拆分 A-B 测试。有一个观察者设置会话变量(组 A 或组 B),然后布局会根据该变量进行更改。

问题在于页面正在缓存(在 Magento 整页缓存中),无论用户在哪个组中,他们都看到的是 A 页面或 B 页面。

我可以修改 Magento 使主页的每个版本分别缓存吗?或者我可以在主页上完全禁用缓存吗?或者有没有更好的方法来做这种测试?

【问题讨论】:

标签: php caching magento


【解决方案1】:

这并不直接适用,但我必须根据页脚所在的页面以不同方式缓存页脚,最后编辑 Mage/Page/Block/Html/Footer.php 文件并通过将部分 url 添加到返回的变量。你能不附加会话变量吗?

我知道您并没有像我一样看页脚,但它似乎可以为您指明一个有用的方向。

【讨论】:

    【解决方案2】:

    您可以使用符合 HTTP 1.1 的标头来更改特定页面的缓存行为。

    见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2.6

    您需要的标头是Cache-Control: no-cache

    您需要将该标题与文档一起发送出去。使用 php,您将使用 header 函数来指定标题。

    header("Cache-Control: no-cache");
    

    【讨论】:

    • 抱歉,我的问题不够清楚。有问题的是内部 Magento 缓存,而不是浏览器缓存。
    猜你喜欢
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 2013-11-12
    • 2012-04-30
    • 1970-01-01
    相关资源
    最近更新 更多