I am trying to display random testimonials, but due to magento cache the random is not working, i have to flush the cache each time to see the testimonials change, my code
public function getTestimonialsLast(){
$collection = Mage::getModel('testimonial/testimonial')->getCollection();
$collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
$collection->addFieldToFilter('status',1);
$collection->setPageSize(5);
return $collection;
}
我怎样才能使它工作,我怎样才能使它无论何时刷新页面集合都是随机的。 任何帮助是极大的赞赏。 提前谢谢你,
答案 0 :(得分:2)
一种可能性是在视图文件中:
您可以在实施阻止时通过添加 false 参数来阻止Magento缓存阻止。
<?php echo $this->getChildHtml('testimonials', false) ?>
因为
Method Summary
string getChildHtml ([string $name = ‘’], [boolean $useCache = true], [ $sorted = true])
或者您可以将缓存生命周期添加到您的推荐类中:
public function getCacheLifetime() { return null; }
答案 1 :(得分:0)
您是否在模块public function __construct()
中缓存了块它会有关于'cache_lifetime'的信息
删除缓存块会阻止它被缓存并每次都执行一次新的调用。