Magento 缓存 - 如何禁用此单例(页面标识符)缓存?
-
13-12-2019 - |
题
当缓存被禁用时, Mage::getSingleton('cms/page')->getIdentifier();
工作正常,我正在得到 所有页面的正确页面标识符.
但是当缓存启用时,它总是 返回首先加载的页面标识符t。
我在 phtml 文件中调用它。它应该在块类中正常工作吗?
有什么解决办法吗?
更新:
实际上,所有代码都以某种方式被缓存,除非我刷新或禁用缓存,否则我看不到新代码的任何输出。所以这似乎不是这个特定的单例对象的问题。在同一台服务器上,另一个 magento 安装/项目在启用缓存的情况下很好,我可以立即看到更新。我正在调查这个问题。它可能是任何其他设置或带有一些扩展的主题。
解决方案
我的整个导航块都被缓存,并且我所做的任何更改根本不会反映在前端,除非缓存被清除。但其他 phtml 文件没问题。
在我的导航块类中,我添加了以下代码,它现在按预期工作:
protected function _construct()
{
parent::_construct();
$this->addData(array( 'cache_lifetime' => null ));
}
以下链接帮助我解决了该问题:https://stackoverflow.com/a/25032002/1302297