2011-10-31 80 views
1

我想獲得產品的評分(例如4分)和產品評論的數量。我可以獲得評論數量,但不能評分評分。在Magento中獲取產品評論摘要

我是從我的事件觀察器類這樣做:

$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. 

感謝您的幫助。

回答

0

你打電話評論代碼循環?如果是的話請看方法Mage_Catalog_Block_Product_Abstract班。初始化時第二次

仍然確認這是一個錯誤,但不得不重寫在local

+0

感謝您的回覆。我會通過購物車併爲購物車中的每個產品調用上面的代碼。 getRatingSummary不會爲所有產品返回任何內容。我正在使用Magento的1.4.2.0版本。你能確認我寫的代碼是否有問題,或者實際上這是一個錯誤?那裏的其他人遇到同樣的問題? – user265330

+0

我相信助手不打算在循環中使用。不確定這是一個錯誤還是一個設計缺陷。可能有一種方法以不同的方式初始化它 – Zifius

3

您的代碼在Magento的1.4.2,1.5.1和1.6測試的類返回FALSE。 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?

相關問題