Magento删除块仅适用于禁用缓存的情况



我有一个静态块,它被添加到每个页面的页脚引用中。我的主页是一个 CMS 页面,我已经在布局更新 XML 页面中放置了代码以从该页面中删除块。

以下是将其添加到所有页面的页脚的方式:

在页面中.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>

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

任何人都可以阐明为什么如果启用缓存则不起作用?

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

<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>

最新更新