2011-10-04 56 views
2

最佳做法我想刪除以下設置:什麼是在Magento禁止從全頁面緩存(FPC)高速緩存請求(企業)

<cms>enterprise_pagecache/processor_default</cms> 

...從config.xml文件核心/企業/ PageCache/config.xml文件,以便主頁不會被緩存,(因爲我們有一個複雜的自定義存儲開關)。

由於此值未存儲在core_config_data中,我不確定是否覆蓋開箱即用值的最佳方法。核心文件中上面的註釋暗示着編輯這個文件並不是一個壞習慣,但是,我可以打開這個給社區看看他們的想法嗎?

PS =這是一個帶有自定義商店切換器的多網站設置。

回答

0

打孔是它聽起來像你可能需要的。

將一個帶有<config> root的etc/cache.xml文件添加到您的模塊中。 (請參閱Enterprise/PageCache/etc/cache.xml)。選擇一個唯一的[佔位符]名稱。

佔位符/ [佔位符] /塊節點值必須與您的自定義動態塊的類標識相匹配,例如, MyModule的/定製

佔位符/ [佔位符] /容器節點值是類動態地生成的內容和處理塊級緩存

佔位符/ [佔位] /佔位符節點值是標記的唯一字符串在高速緩存的頁面

佔位符/ [佔位符]動態部分/如果需要

實現容器類和延伸Enterprise_PageCache_Model_Container_Abstract cache_lifetime被忽略,指定在容器的_saveCache()方法的塊高速緩存生存期。使用_renderBlock()返回動態內容。

在容器中實現_getCacheId()方法以啓用塊級高速緩存。使用Cookie值而不是模型ID(成本較低)。

最後一個注意事項:當你調用_renderBlock()時,你沒有完整的Magento應用程序。儘可能保守。

來源:http://tweetorials.tumblr.com/post/10160075026/ee-full-page-cache-hole-punching

+0

這是怎麼佔位符和FPC工作的一個很好的解釋,但我想從自cookies和會話曾經被緩存停止請求CMS /索引/索引沒有被正確地更新模型和控制器在FPC打開時。我沒有看到我希望執行的邏輯可以轉移到一個塊中,並因此封裝在一個容器中。 –