質問

私はレビューを取得しようとしている構成可能な製品を持っています

$ mythemename/catalog/cultog/view.phtml

/**
 * Product view template
 *
 * @see Mage_Catalog_Block_Product_View
 * @see Mage_Review_Block_Product_View
 */

$_product = $this->getProduct();

5つ星、4つ星、3つ星、2つ星、1つ星のグループカウントの評価が必要です。このような

enter image description here

私はこれを経験することによって、次のことをしました リンク (@sinclairfrの投稿を確認してください)、製品に関連する評価の完全なHTMLを提供しています。

<?php $zoo = new Mage_Rating_Block_Entity_Detailed(); ?>
<?php echo $zoo->toHtml(); ?>

そしてこれも

$review = Mage::getModel('review/review');
$collection = $review->getProductCollection();
$collection
->addAttributeToSelect('*')
->getSelect()
->limit(5)
->addFieldToFilter('product_id', $_product->getId());
$review->appendSummary($collection);

zend_debug::dump($review); 

これを通過することによって リンク

まだ役に立たない

役に立ちましたか?

解決

次のコードを使用して、すべての投票を製品に添付することができます。 SetentityPkFilterが製品IDを設定していることに注意してください。

$votesCollection = Mage::getModel('rating/rating_option_vote')
    ->getResourceCollection()
    ->setEntityPkFilter($productId)
    ->setStoreFilter(Mage::app()->getStore()->getId())
    ->load();

これにより、各タイプの投票が得られます。したがって、デフォルトのショップでは、レビューごとにこのコレクションに3つのアイテムを入手できます。評価は、価格、品質、価値で行われます。

その後、コレクション内の各アイテムをループして、スター評価に追加できます。投票項目のサンプルデータは次のとおりです。

array(10) {
  ["vote_id"]=>
  string(3) "283"
  ["option_id"]=>
  string(1) "9"
  ["remote_ip"]=>
  string(9) "127.0.0.1"
  ["remote_ip_long"]=>
  string(10) "2130706433"
  ["customer_id"]=>
  NULL
  ["entity_pk_value"]=>
  string(2) "27"
  ["rating_id"]=>
  string(1) "2"
  ["review_id"]=>
  string(2) "95"
  ["percent"]=>
  string(2) "80"
  ["value"]=>
  string(1) "4"
}
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top