最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

[原创]Magento星级评论显示百分比例

Magento星级评论显示百分比例,这近工作中做一个新站。产品详细页面那里需要有评论,同时评论用星星来显示,就像Lightinthebox一样的效果。好评、中评、差评各占比例等。如下图效果:

1、找到app\code\core\Mage\Review\Block\Form.php,在后面添加一个方法getReviewsCollection()用来获取当前产品的各评论参数。

public function getReviewsCollection() {
$productId = Mage::app()->getRequest()->getParam('id', false);
$reviews= Mage::getModel('review/review')
->getResourceCollection()
->addStoreFilter(Mage::app()->getStore()->getId())
->addEntityFilter('product', $productId)
->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)
->setDateOrder()
->addRateVotes();
return $reviews;
}

2、找到app\design\frontend\base\default\template\review\form.phtml,在头部加入以下代码:

<?php
$ratings = array();
$rating_code = array();
$positiv =0;
$neutral = 0;
$negativ = 0;

foreach($this->getReviewsCollection()->getItems() as $vivew_arr){
foreach ($vivew_arr->getRatingVotes() as $vote){
$rating_code[$vote['rating_code']] = $vote['value'];
}
$ratings[]=$rating_code;
}

foreach($ratings as $rat){
foreach($rat as $key=>$value){
if($value>=1 && $value<2){//差评
$negativ += $value;
}elseif($value>=2 && $value<4){//中评
$neutral += $value;
}elseif($value>=4 && $value<=5){//好评
$positiv += $value;
}
}
}
$positiv = round($positiv/($positiv+$neutral+$negativ)*100);
$neutral = round($neutral/($positiv+$neutral+$negativ)*100);
$negativ = round($negativ/($positiv+$neutral+$negativ)*100);
?>

可以根据你要显示的位置而定,思路是这样的。但是还有点问题,就是百分比有点问题。如果你有更好的办法,请在下方评论处分享出来,谢谢!

转载请注明:嗨酷哥,有你更酷! » [原创]Magento星级评论显示百分比例

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论3条  本站回复1

  1. 兰亭还是很牛的

    北山狼2012-10-16 21:30 回复
  2. 😛 记号..

    小丁2012-10-06 20:58 回复
  3. 学习中哦