2014-05-22 80 views
3

我最近安裝了清漆3.X系統(Ubuntu的),並將其配置爲8080Magento的孔PUCH清漆

現在全頁面緩存已啓用,其工作的罰款。我只想忽略頁面的某些 特定動態塊。我怎麼能用magento做。此外,我不是 使用Magentos默認緩存技術,所以我禁用它。也試過模塊松節油

感謝&都把layout.xml文件

拉傑什Ganjeer

+0

問題不清楚,你要關閉緩存爲特定的塊或者希望禁用塊? –

+0

是的,我想關閉特定塊的緩存。請建議..這是緊迫的要求,但沒有得到任何幫助.. –

+1

您是否使用擴展來啓用Magento中的Varnish支持,或者您剛纔在Web服務器前安裝了Varnish?禁用Magento的塊緩存將不起任何作用,因爲Varnish(默認情況下)將緩存任何輸出。要實施打孔,您需要研究Edge Side Includes。這些基本上允許您獨立控制頁面塊的緩存策略。有幾個擴展可以正確實現。 – rbaker86

回答

6

我已經這樣做了使用

試試這個在應用程序/設計/前端內local.xml中/ XXX/XXX /佈局/ local.xml文件,:

<reference name="block name"> 
    <action method="setEsiOptions"> 
     <params> 
      <access>private</access> 
      <flush_events> 
       <wishlist_item_save_after/> 
       <wishlist_item_delete_after/> 
       <sales_quote_save_after/> 
       </flush_events> 
     </params> 
    </action> 
</reference>` 

OR

<reference name="block name"> 
    <action method="setEsiOptions"> 
     <params> 
      <access>private</access> 
      <ttl>0</ttl> 
     </params> 
    </action> 
</reference>` 

OR

<reference name="block name"> 
<action method="setEsiOptions"> 
    <params> 
     <access>private</access> 
     <method>ajax</method> 
    </params> 
</action> 
</reference>` 

OR

整頁會忽略緩存如。一個頁面模塊checkout_onepage_index

<checkout_onepage_index> 
    <turpentine_cache_flag value="0"/> 
</checkout_onepage_index> 

我試過這個使用模塊Nexcessnet松節油。和它的作品

對於松節油安裝後您參考:

應用程序/設計/前端/基/默認/佈局/ turpentine_esi.xml

非常感謝您的反饋。

參考網站:

http://www.magentocommerce.com/magento-connect/turpentine-varnish-cache.html

https://github.com/nexcess/magento-turpentine

感謝&問候

拉傑什Ganjeer

0

試試這個:如果你想在PHTML文件來禁用然後使用塊名稱後假

<reference name="block name"> 
     <action method="setCacheLifetime"><s>null</s></action> 
    </reference> 

像這樣:

<?php echo $this->getChildHtml('topLinks',false) ?> 

如果你wan t禁用PHP文件,然後使用此代碼在特定的塊類:

public function getCacheLifetime() { return null; } 

希望這會有所幫助。祝一切順利!

+1

這隻會影響Magento的塊緩存。清漆緩存不會被這種方式清除。 – rbaker86

0

用松節油將要走的路。

你正在尋找的具體環節是: https://github.com/nexcess/magento-turpentine/wiki/ESI_Cache_Policy

隨着細節之中:

如果沒有指定默認TTL是一個有點複雜:如果訪問是 私有的,那麼如果方法是ajax默認ttl是0(不緩存) 否則使用默認的cookie過期時間。如果全局訪問爲 ,則使用默認頁面TTL(不管方法如何)。

實現,如:

<reference name="block name"> 
    <action method="setEsiOptions"> 
     <params> 
      <access>private</access> 
      <ttl>0</ttl> 
     </params> 
    </action> 
</reference>