由于缓存,magento中的随机推荐不起作用

时间:2013-08-02 15:45:00

标签: magento testimonials

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;
    }

我怎样才能使它工作,我怎样才能使它无论何时刷新页面集合都是随机的。 任何帮助是极大的赞赏。 提前谢谢你,

2 个答案:

答案 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'的信息

删除缓存块会阻止它被缓存并每次都执行一次新的调用。