我的Magento商店标题中有一个项目计数指示器,当我在网站上启用了缓存时,它表现得很笨拙。是否可以禁用特定.phtml模板的缓存?我尝试覆盖Mage_Page_Block_Html_Header
并将$this->addData(array("cache_lifetime" => false))
添加到_construct()
方法,但这似乎没有帮助。我希望购物车计数能够根据用户显然进行更新,并且其中还有一些其他模板代码,我想在每个请求中运行。
答案 0 :(得分:0)
“jankily”是什么意思?在magento CE的默认安装中(我不知道你是否使用EE)这个块没有被缓存。如果你可以在getSummaryQty方法和抽象块中的toHtml方法上设置一个断点,标题块扩展(这个函数检查缓存)使用调试器,例如带有xdebug的netbeans,你将更快地了解事情的核心比任何其他方式。
答案 1 :(得分:0)
你可能在你的覆盖模块的正确轨道上,但这里有一个问题。您会认为"cache_lifetime" => false
与&#34相同;请勿缓存"。不一定如此。不同来源报告的结果不同;
"cache_lifetime" => 3600
:
缓存直到3600秒
"cache_lifetime" => null
:禁用缓存
(尽管Nick says"通过将此值设置为null或省略参数,该值将保留在缓存中,直到删除。")
"cache_lifetime" => false
:没有过期,永久缓存
(虽然Ivan@Inchoo states这使得它回退到Zend_Cache默认值7200秒)
是的我意识到这已经有几年了,我的回答并不是有限的,但遇到这个问题的其他人应该意识到这些怪癖。另外,也许Chris Forette可以发布一些代码,说明最终如何解决这个问题?