我有以下代码来获得所有的评论。它可以工作,但问题是它也在打印待定的评论。它应该只打印那些被批准的。
$review = Mage::getModel('review/review');
$collection = $review->getProductCollection();
$collection
->addAttributeToSelect('*')
->getSelect()
->limit($limitertest)
->order('RAND()');
$review->appendSummary($collection);
echo '<ul class="testimony_slider">';
foreach($collection as $product) {
echo '<li>';
echo '<div class="testi_left">';
echo '<img src='.Mage::helper('catalog/image')->init($product, 'small_image')->resize(100).'>';
echo '</div>';
echo '<div class="testi_right">';
echo '<p class="testti_summery">"'.$product->getTitle().'"</p>';
echo '<p class="testti_nickname">'.$product->getNickname().'</p>';
echo '</div>';
echo '<div class="clear_both"></div>';
echo '</li>';
}
echo '</ul>';
您可能需要重构代码以获得评审集合,然后根据批准的状态进行过滤。像这样:
$reviews = Mage::getModel('review/review')->getResourceCollection();
$reviews->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED);