Magento 产品评级计算性能
Magento Product rating calculation performance
如果我的网页显示很多产品(包括标题和评级),那么网页需要使用以下代码计算每个产品的评级百分比。
我确信这种计算会减慢我的网页速度。
这是我可以选择的唯一选择,还是有更好的性能代码可以使用?
if (count($reviews) > 0)
{
foreach ($reviews->getItems() as $review)
{
foreach( $review->getRatingVotes() as $vote )
{
$ratings[] = $vote->getPercent();
}
}
$avg = array_sum($ratings)/count($ratings);
}
您可以使用此代码,magento 在类别列表页面上使用相同的代码。
<?php if($_product->getRatingSummary()): ?>
<?php echo $this->getReviewsSummaryHtml($_product) ?>
<?php endif; ?>
您只需要在此代码中传递您的 $product
对象。
您可以使用 Magento 核心的评论模型
<?php
$store_id = Mage::app()->getStore()->getId(); //get store id
//in your product loop
$review_summary = Mage::getModel('review/review_summary')->setStoreId($store_id)->load($_product->getId()); //pass product's id to review model
echo $review_summary['rating_summary']; //get rating summary
?>
您可以使用以下代码在任何页面上获得评分:
<?php
$storeId = Mage::app()->getStore()->getId();
$summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId) ->load($_product->getId());
?>
<?php if($_product->getRatingSummary()): ?>
<?php if($summaryData['rating_summary']){ ?><div class="rating-box"><div class="rating" style="width:<?php echo $summaryData['rating_summary']; ?>%"></div></div>(<?php echo $_product->getRatingSummary()->getReviewsCount(); ?>)<?php } ?>
<?php endif; ?>
如果我的网页显示很多产品(包括标题和评级),那么网页需要使用以下代码计算每个产品的评级百分比。 我确信这种计算会减慢我的网页速度。 这是我可以选择的唯一选择,还是有更好的性能代码可以使用?
if (count($reviews) > 0)
{
foreach ($reviews->getItems() as $review)
{
foreach( $review->getRatingVotes() as $vote )
{
$ratings[] = $vote->getPercent();
}
}
$avg = array_sum($ratings)/count($ratings);
}
您可以使用此代码,magento 在类别列表页面上使用相同的代码。
<?php if($_product->getRatingSummary()): ?>
<?php echo $this->getReviewsSummaryHtml($_product) ?>
<?php endif; ?>
您只需要在此代码中传递您的 $product
对象。
您可以使用 Magento 核心的评论模型
<?php
$store_id = Mage::app()->getStore()->getId(); //get store id
//in your product loop
$review_summary = Mage::getModel('review/review_summary')->setStoreId($store_id)->load($_product->getId()); //pass product's id to review model
echo $review_summary['rating_summary']; //get rating summary
?>
您可以使用以下代码在任何页面上获得评分:
<?php
$storeId = Mage::app()->getStore()->getId();
$summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId) ->load($_product->getId());
?>
<?php if($_product->getRatingSummary()): ?>
<?php if($summaryData['rating_summary']){ ?><div class="rating-box"><div class="rating" style="width:<?php echo $summaryData['rating_summary']; ?>%"></div></div>(<?php echo $_product->getRatingSummary()->getReviewsCount(); ?>)<?php } ?>
<?php endif; ?>