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; ?> 以上代码经过本人测试可用。 (责任编辑:好模板) |