2010-09-21 43 views
1

一段時間以來,我一直在使用下面的代碼顯示我的頁腳中最暢銷產品的列表。不過,我剛剛意識到,啓用緩存時,直到刷新緩存後纔會更新列表。有沒有辦法解決這個問題?Magento暢銷產品清單不啓用緩存更新

$_productCollection = Mage::getResourceModel('reports/product_collection') 
->addAttributeToSelect('name') 
->addAttributeToFilter('visibility', $visibility) 
->addOrderedQty() 
->setOrder('ordered_qty', 'desc') 
$_productCollection->load();} 

回答

2

如果選中頁腳塊使用緩存的方式

app/code/core/Mage/Page/Block/Html/Footer.php 

你會發現它的緩存生存期設置爲不確定,所以應該將應該顯示動態信息的塊作爲頁腳塊的子塊並不是最好的策略。不是禁用或降低頁腳塊緩存,更好的策略是考慮將您的暢銷書塊移動到頁腳塊之外,以便頁腳可以繼續緩存。

最好在頁腳前添加一個自定義塊,並使用CSS將您的暢銷書放在您想要的位置。

而且,一個好地方,研究如何實現自己的塊緩存是上面鏈接的

app/code/core/Mage/Catalog/Block/Product/New.php 

的wiki文章是好的,但有些不完整。 Magento提供了一個特殊的方法來定義緩存鍵getCacheKeyInfo()。