Opinie w Magento

Home / Blog / Opinie w Magento

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());