Получите резюме обзор продукта в Magento - PullRequest
1 голос
/ 31 октября 2011

Я бы хотел получить оценку товара (например, 4 из 5) и количество отзывов о товаре.Я могу заполучить количество отзывов, но не рейтинг.

Я делаю это из класса моих наблюдателей:

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

3 голосов
/ 07 ноября 2011

Ваш код, протестированный на Magento 1.4.2, 1.5.1 и 1.6.1, работает как положено.Единственное отличие от вашего кода в том, что я жестко закодировал идентификатор магазина и идентификатор продукта.Также работает цикл по всем продуктам с обзором:

<?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?

0 голосов
/ 01 ноября 2011

Вы называете код отзывов в цикле? Если это так, взгляните на метод _initReviewsHelperBlock в классе Mage_Catalog_Block_Product_Abstract. Возвращается false при повторной инициализации

Еще бы подтвердить, что это ошибка, но пришлось переписать класс в local пуле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...