Magento购物车项目计数+页面缓存



我的Magento商店的标题中有一个项目计数指示器,当我在网站上启用缓存时,它的行为很糟糕。是否可以禁用特定 .phtml 模板的缓存?我尝试覆盖Mage_Page_Block_Html_Header并向_construct()方法添加$this->addData(array("cache_lifetime" => false)),但这似乎没有帮助。我希望购物车计数显然根据用户进行更新,并且其中还有其他一些模板代码,我也想在每个请求中运行。

"jankily"是什么意思? 在 magento CE 的默认安装中(我不知道或者如果您使用 EE),则不会缓存此块。 如果您可以使用调试器(例如带有 xdebug 的 NetBeans)在标头块扩展的抽象块中的 getSummaryQty 方法和 toHtml 方法上设置断点(此函数检查缓存), 您将比任何其他方式更快地找到问题的核心。

您的覆盖模块可能走在正确的轨道上,但这里有一个问题。您可能会认为"cache_lifetime" => false与"不缓存"相同。不一定是这样。不同的来源报告了不同的发现;

"cache_lifetime" => 3600缓存到 3600 秒

"cache_lifetime" => null禁用缓存
(尽管 Nick 说"通过将此值设置为 null 或省略参数,该值将保留在缓存中,直到被删除。

"cache_lifetime" => false无过期,永久缓存
(尽管Ivan@Inchoo指出这使它回退到默认值 7200 秒Zend_Cache)

是的,我意识到这已经有几年的历史了,我的答案不是有限的,但是遇到这个问题的其他人应该意识到这些怪癖。另外,也许克里斯·福雷特可以发布一些代码来说明最终如何解决这个问题?

最新更新