Magento检查评审状态,然后打印


Magento check status of the review and then print

我有以下代码来获得所有的评论。它可以工作,但问题是它也在打印待定的评论。它应该只打印那些被批准的。

        $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);