西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

Magento评论自定义产品评论及评分

时间:2016-12-14 00:59来源:未知 作者:好模板 点击:
Magento 评论及评分是显示在产品详细页面的。话说最近在研究dx功能的时候,真心的感觉这个站的整体功能和magento像是一个模子刻出来的。 除了在单独的评论页面显示评论及评分之外,

Magento 评论及评分是显示在产品详细页面的。话说最近在研究dx功能的时候,真心的感觉这个站的整体功能和magento像是一个模子刻出来的。

除了在单独的评论页面显示评论及评分之外,我们可能还需要在产品页或者分类页面调用。产品页有独立的方法获取到这些内容。在分类页面的话,我们可以通过调用review/review模型,设置相关的产品id来获取到该产品的评论和评分内容。

/**
* 获取产品评论Collection对象
*/
$storeId = Mage::app()->getStore()->getId();
 
$productId = $product->getId();
$reviews = Mage::getModel('review/review')
    ->getResourceCollection()
    ->addStoreFilter($storeId)
    ->addEntityFilter('product', $productId)
    ->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(); //这里还可以修改成:$vote->getValue()这个获取评论分数。如果做Google 结构化数据的话,这个就可以用到了。
        }
    }
    $avg = array_sum($ratings)/count($ratings);
}
 
//显示评分
<?php if($avg): ?>
    <div style="float:left;">
        <div style="width: <?php echo ceil($avg) ; ?>%;"></div>
    </div>
<?php endif; ?>

以上代码经过本人测试可用。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------