2011-05-09 98 views
1

我的Magento商店的標題中有一個項目計數指示器,並且當我在該站點上啓用緩存時,它的行爲顯得非常糟糕。是否可以禁用特定.phtml模板的緩存?我嘗試覆蓋Mage_Page_Block_Html_Header並將$this->addData(array("cache_lifetime" => false))添加到_construct()方法,但這似乎沒有幫助。我希望購物車的數量根據用戶明顯更新,並且其中還有一些其他模板代碼,我希望在每次請求時都能運行。Magento購物車項目計數+頁面緩存

+0

你用什麼變量來計算物品數量? – Darren 2011-05-09 20:55:51

+0

http://www.nicksays.co.uk/2010/07/developers-guide-magento-cache/這可能有助於減輕一些光線。 – B00MER 2011-05-09 22:24:58

+0

@Darren我正在使用'法師:: getSingleton('checkout/cart') - > getSummaryQty()' – 2011-05-13 23:00:32

回答

0

「jankily」是什麼意思?在magento CE的默認安裝(我不知道或如果您使用EE)這個塊沒有被緩存。如果您可以使用調試器(例如使用xdebug的netbeans)在getSummaryQty方法和標題塊擴展的抽象塊(此函數檢查緩存)的toHtml方法上設置斷點,那麼您將更快地理解問題的核心比任何其他方式。

0

你可能在你的覆蓋模塊的正確軌道上,但這裏有一個問題。您會認爲"cache_lifetime" => false與「不緩存」相同。不一定如此。不同的來源報告不同的結果

"cache_lifetime" => 3600直到3600秒老

"cache_lifetime" => null 緩存:禁用緩存
(雖然Nick says「通過將該值設置爲null,或省略的說法,該值將保留在緩存中,直到刪除「)

"cache_lifetime" => false沒有到期,緩存永遠
(雖然[email protected] states這使得它回退到Zend_Cache默認值7200秒)

是的我意識到這是一個幾歲,我的答案不是有限的,但其他人遇到這個問題應該知道這些怪癖。另外,也許Chris Forette可以發佈一些代碼,顯示最終如何解決這個問題?