2012-04-13 33 views
0

我有一個靜態塊被添加到每頁上的頁腳引用。我的主頁是一個CMS頁面,我已經將代碼放在頁面佈局更新XML中以從該頁面中刪除該塊。Magento刪除塊只適用於緩存禁用

這是它是如何加入到頁腳的所有網頁:

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

該塊不應顯示在主頁上,並應顯示在所有其他頁面上。這工作正常,但只有當緩存被禁用。什麼似乎發生的是緩存啓用,然後我查看主頁和塊被刪除,但它也被刪除每隔一頁。

任何人都可以闡明爲什麼這不起作用,如果緩存啓用?

+0

http://www.magentocommerce.com/wiki/5_-_modules_and_development/block_cache_and_html_ouput你給這個試試嗎? – B00MER 2012-04-13 18:19:08

+0

可能是因爲當您啓用緩存時,它將從先前存儲的緩存副本中提取。啓用緩存後,請確保將其刷新。 – seanbreeden 2012-04-15 13:28:30

+0

@seanbreeden嘗試啓用後刷新緩存但沒有區別。謝謝 – iamjonesy 2012-04-16 08:14:34

回答

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>