【发布时间】:2013-05-31 07:38:30
【问题描述】:
我正在使用具有整页缓存功能的 magento EE。有一个动态更新的块,但我似乎无法禁用它的缓存。 我想要实现的理想目标:仅为特定块禁用缓存,以便每次页面加载时都会再次呈现它。 我尝试过的事情:
将 unsetData 包含到布局文件中
<action method="unsetData"><key>cache_lifetime</key></action>
<action method="unsetData"><key>cache_tags</key></action>
设置函数_saveCache返回false
protected function _saveCache($data, $id, $tags = array(), $lifetime = null) {
return false;
}
为cache_lifetime设置不同的值
public function __construct()
{
$this->addData(array(
‘cache_lifetime’ => 0,
‘cache_tags’ => array(Mage_Catalog_Model_Product::CACHE_TAG),
));
}
也许我在整页缓存机制中遗漏了一些东西?
【问题讨论】:
-
您要查找的词是
hole punching;在清漆 FPC 的情况下,您还需要通过 javascript Ajax 对动态内容进行打孔。你使用什么缓存方法? -
@Luceos 老实说,我还不知道,我想这是 Magento EE 附带的。
-
这里值得一提的是,当 cache_lifetime 设置为 0 时,Magento 会令人惊讶地将该块缓存 7200 秒 inchoo.net/magento/magento-block-caching