获取Magento的产品评论摘要

时间:2011-10-31 17:26:47

标签: magento

我想获得产品的评分(例如,5分中的4分)和产品评论的数量。我可以掌握评论的数量,但不能获得评分。

我是从我的事件观察者类做到的:

$storeId = Mage::app()->getStore()->getId(); // returns 1

$productId = $product->getId(); // returns 135

$summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId)->load($productId); // returns 

$reviewsCount = $summaryData->getReviewsCount();  // this works

$ratingSummary = $summaryData->getRatingSummary(); // this does not return the rating score I had hoped it would. It just returns a blank string.

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您在Magento 1.4.2,1.5.1和1.6.1上测试的代码按预期工作。 与您的代码唯一的区别是我对商店ID和产品ID进行了硬编码。 对带有评论的所有产品进行循环也是如此:

<?php
$products = Mage::getResourceModel('catalog/product_collection');
foreach ($products as $product)
{
    $summary = Mage::getModel('review/review_summary')
            ->setStoreId(Mage::app()->getStore('default')->getId())
            ->load($product->getId());
    if ($summary->getId())
    {
        echo $summary->getRatingSummary() . "\n";
    }
}

您是否在review_entity_summary表中检查了实体135的预期结果?

答案 1 :(得分:0)

您是否在循环中调用评论代码?如果是这样,请查看_initReviewsHelperBlock课程中的Mage_Catalog_Block_Product_Abstract方法。它在第二次初始化时返回false

仍然要确认这是一个错误,但必须重写local池中的类