Magento删除块仅适用于禁用缓存

时间:2012-04-13 10:17:19

标签: magento

我有一个静态块,它被添加到每个页面的页脚引用中。我的主页是一个CMS页面,我将代码放在Layout Update XML页面中,以从该页面中删除该块。

这是它添加到所有页面的页脚的方式:

在page.xml里面

<reference name="footer">
  <block type="cms/block" name="page_cta" before="-">
    <action method="setBlockId"><block_id>page_cta</block_id></action>
  </block>
</reference>

我的主页中的代码布局更新xml以删除块:

<reference name="footer">
  <remove name="page_cta" />
</reference>

该块不应显示在主页上,并应显示在所有其他页面上。这工作正常,但只有在禁用缓存时。似乎发生的事情是启用了缓存然后我查看了主页并删除了该块,但随后它也被删除。

任何人都可以了解为什么在启用缓存时这不起作用?

1 个答案:

答案 0 :(得分:2)

禁用特定块的缓存,如下所述:

<reference name="footer">
       <action method="unsetData"><key>cache_lifetime</key></action>
       <action method="unsetData"><key>cache_tags</key></action>
       <block type="cms/block" name="page_cta" before="-">
           <action method="setBlockId"><block_id>page_cta</block_id></action>
       </block>
   </reference>