Magento可以在缓存键中使用会话变量吗?

时间:2012-01-31 11:22:05

标签: php caching magento

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

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

我可以修改Magento以便每个版本的主页单独缓存吗?或者我可以完全在主页上禁用缓存吗?或者有更好的方法来进行这种测试吗?

2 个答案:

答案 0 :(得分:0)

这不是直接适用的,但我必须根据页面所在页面的不同而缓存页脚,最后编辑Mage/Page/Block/Html/Footer.php文件并通过添加部分getCacheKey()来更改{{1}}函数返回变量的url。你可以不附加会话变量吗?

我知道你不像我一样看着页脚,但它似乎可能会指向你一个有用的方向。

答案 1 :(得分:0)

您可以使用符合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");