Kod pobierający opinie o produkcie w dowolnym miejscu w Magento:
<?php $_reviews = Mage::getModel('review/review')->getResourceCollection(); $_reviews->addStoreFilter(Mage::app()->getStore()->getId()) ->addEntityFilter('product', $product->getId()) ->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED) ->setDateOrder() ->addRateVotes(); $avg = 0; $ratings = array(); if(count($_reviews) > 0) { foreach($_reviews->getItems() as $_review): foreach($_review->getRatingVotes() as $_vote): $ratings[] = $_vote->getPercent(); endforeach; endforeach; $avg = array_sum($ratings)/count($ratings); } ?> <?php if($avg > 0): ?> <div class="ratings"> <div class="rating-box"> <div class="rating" style="width:<?php echo ceil($avg); ?>%;"></div> </div> </div> <?php endif; ?>
Pobieranie średniej oceny każdego produktu:
<?php $storeId = Mage::app()->getStore()->getId(); $summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId)->load($_product->getId()); ?> <div class="rating">(<?php echo $summaryData['rating_summary']; ?>%)</div>
Pobieranie ilości ocen każdego produktu:
$reviewData = Mage::getModel('review/review/summary'); echo $reviewcount = $reviewData->getTotalReviews($_product->getId());