Magento畅销书列表未在启用缓存的情况下更新

Magento畅销书列表未在启用缓存的情况下更新,magento,Magento,一段时间以来,我一直在我的页脚中显示一个最畅销的产品列表,使用下面的代码。然而,我刚刚意识到,当缓存被启用时,列表不会得到更新,直到我刷新缓存。有什么办法吗 $_productCollection = Mage::getResourceModel('reports/product_collection') ->addAttributeToSelect('name') ->addAttributeToFilter('visibility', $visibility) ->addO

一段时间以来,我一直在我的页脚中显示一个最畅销的产品列表,使用下面的代码。然而,我刚刚意识到,当缓存被启用时,列表不会得到更新,直到我刷新缓存。有什么办法吗

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

您需要考虑禁用页脚块的缓存,或者至少将其降低到足够低的ttl


这里有一个很好的例子说明了如何做到这一点:

如果您检查页脚块在中使用缓存的方式

app/code/core/Mage/Page/Block/Html/Footer.php 
您会注意到它的缓存生存期被设置为不确定,因此,将应该显示动态信息的块作为页脚块的子块并不是最佳策略。与其禁用或降低页脚块缓存,最好的策略是考虑将你的畅销书块移到页脚块之外,这样页脚就可以继续缓存。 最好在页脚前添加一个自定义块,并使用CSS将畅销书定位到您想要的位置

另外,研究如何实现自己的块缓存的一个好地方是

app/code/core/Mage/Catalog/Block/Product/New.php 
上面链接的wiki文章不错,但有点不完整。Magento提供了一种特殊的方法来定义缓存密钥getCacheKeyInfo()