`
天梯梦
  • 浏览: 13742019 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Magento: 获取产品评论 get all reviews with review summary

 
阅读更多

1. 根据产品id获取该产品评论

$productId = 1234;
$product = Mage::getModel('catalog/product')->load($productId);

$storeId = Mage::app()->getStore()->getId();
Mage::getModel('review/review')->getEntitySummary($product, $storeId);

$ratingSummary = $product->getRatingSummary();
print_r($ratingSummary->getData());

 

 结果是:

Array
(
    [primary_id] => 27
    [entity_pk_value] => 16
    [entity_type] => 1
    [reviews_count] => 3
    [rating_summary] => 51
    [store_id] => 1
)

 

结果解释如下:

//Entity id of a summary review
["primary_id"] => string(3) "27"
//
//Product id
["entity_pk_value"] => string(3) "16"
//
//Entity type id: 1-Product; 2-Customer; 3-Category
["entity_type"] => string(1) "1"
//
//Qty of reviews
["reviews_count"] => string(1) "3"
//
//Summarized rating: the percentage which represents number of stars, each 20% step fills up one star
["rating_summary"] => string(2) "51"
//
//Store id
["store_id"] => string(1) "1"

 

或者简单点:

<?php
$storeId    = Mage::app()->getStore()->getId();
$summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId)->load($productId);
if($summaryData->getRatingSummary()){
?>
       <div class="rating-box" style="float:left;">
            <div class="rating" style="width: <?php echo $summaryData->getRatingSummary().'%'; ?>"></div>
       </div>
<?php  } ?>

 

 

 

2. 获取所有评论

function getReviews() {
	$reviews = Mage::getModel('review/review')->getResourceCollection();
	$reviews->addStoreFilter( Mage::app()->getStore()->getId() )
					->addStatusFilter( Mage_Review_Model_Review::STATUS_APPROVED )
					->setDateOrder()
					->addRateVotes()
					->load();        
	
	return $reviews;
}

 

结合上面的函数,我自己使用的例子如下:

$home_reviews = array();
$storeId      = Mage::app()->getStore()->getId();
$reviews      = Mage::getModel('review/review')
				->getCollection()
				->addStoreFilter($storeId)
				->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)
				->setPageSize(5)
            	->setCurPage(1)
				->setDateOrder();

foreach($reviews as $key=>$review)
{
	$home_reviews[$key]           = $review->getData(); 
	$home_reviews[$key]['rating'] = Mage::getModel('review/review_summary')->setStoreId($storeId)->load($review->getEntityPkValue())->getRatingSummary();
	$home_reviews[$key]['rate']   = number_format($home_reviews[$key]['rating']*5/100,1); 
}

 

这个例子结合了几个条件,1. 状态是 APPROVED   2. 时间排序,最新在前   3. 只获取前五个

 

原文/转自:Magento: 获取产品评论 get all reviews with review summary

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    magento通过产品名称获取产品id

    ### Magento通过产品名称获取产品ID的实现原理 在Magento中,每一件商品都有一个唯一的ID,这个ID是用于系统内部识别商品的主要依据。然而,在实际操作中,我们可能只知道产品的名称,而不知道其ID。这时,就需要...

    Magento: Beginner's Guide ([Packt]出品 Magento新手指南)

    - **产品类型**:Magento支持多种产品类型,包括简单产品、配置产品、分组产品等。 - **添加产品**:通过后端管理界面,可以轻松添加新产品,并设置价格、库存、描述等信息。 - **库存管理**:可以设置自动跟踪库存...

    Magento: 后台添加预览按钮 View product in frontend from Magento admin

    这篇博客“Magento:后台添加预览按钮 View product in frontend from Magento admin”主要探讨了如何通过自定义开发来实现这一功能,让管理员能够快速检查商品在网站前台的显示状态。 在Magento中,通常管理员需要...

    The Definitive Guide to Magento (Apress出品 Magento权威指南)

    ### Magento权威指南 #### 书籍概述 《Magento权威指南》是由Adam McCombs与Robert Banh共同编著的一本深入探讨Magento电商平台的技术手册。该书由Apress出版社于2009年出版发行,旨在为读者提供一个全面、系统的...

    magento 评论的导入导出

    2. 设置字段:Magento的评论导入需要特定的字段格式,如`entity_id`(产品ID)、`title`(评论标题)、`detail`(评论内容)、`status_id`(评论状态,如待审核、已发布等)、`rating`(评分,0-5星)等。...

    magento2-integration

    Magento:registered:2数据集成借助Datatric Connect扩展程序,可以轻松地将Magento:registered:2商店与Datatrics平台连接起来。安装在开始安装过程之前,我们建议您对webshop文件以及数据库进行备份。 有两种安装...

    magento星级评论插件

    星级评论插件会将这些数据整合到Magento商店的前端,使产品页面更生动、更具互动性。 该插件的主要特性可能包括: 1. **实时显示**:用户在提交评级和评论后,系统会立即更新商品页面,无需刷新页面即可看到新评价...

    Magento:适用于Dropday的Magento扩展

    通过SFTP或SSH导航到Magento [Magento]/app/code/ 。 上载带有扩展名的Dropday/OrderAutomation目录。 打开终端并导航到Magento根目录。 运行以下命令以启用Dropday扩展: php bin/magento module:enable Dropday_...

    magento:Magento片段

    Magento是一款开源的电子商务平台,由Adobe公司开发,用于构建高度可定制的在线商店。它基于PHP语言,利用了Zend框架,提供了丰富的功能和强大的性能,让商家能够灵活地管理产品、订单、客户以及营销活动。 在...

    ansible-magento:ansible置备的magento商店

    ansible-magento要求: -流浪汉-可以指示: 克隆此仓库无所事事在浏览器中导航到magento.dev。MySQL 数据库:magento 用户名:magento 密码:password123 这是基于的工作而进行的一些更改,以简化启动和运行过程...

    docker-magento:Mark Shust的Magento Docker配置

    docker-magento:Mark Shust的Magento Docker配置

    magento:magento 项目

    马恩托 magento 项目

    magento:Magento的免费PWA和SPA

    VueFrontCMS Connect App for Magento 显示你的 :red_heart: -给我们一个 :star: 帮助我们将这个项目发展到最好! VueFront是CMS不可知的SPA和PWA前端,适用于您的老式Blog和电子商务网站。 Magento通过最佳的电子...

    magento 客户回复其他人的评论

    可能涉及的Magento模块包括`Review`和`Rating`,它们协同工作以处理评论和评分的创建、显示和管理。 在文件名称列表中看到的"Reply"可能指的是与评论回复相关的代码文件或者模板文件。这些文件可能包含了处理评论...

    magento:megento电子商务网站

    magento:megento电子商务网站

    python-magento:使用Python API访问magento API

    Magento Python API 用于连接到Magento Web服务的Python库。 用法 import magento url = 'http://domain.com/' apiuser = 'user' apipass = 'password' # Create an instance of API client = magento . API ( url ...

    magento数据库批量导出产品及自定义属性语句

    在电子商务领域,Magento是一款广泛应用的开源电子商务平台,它允许商家管理他们的在线商店,包括产品、订单、客户等信息。在日常运营中,有时我们需要对数据进行批量操作,比如批量导出产品及其自定义属性,以便...

    trytond-magento:笔记

    Tryton Magento集成 Magento电子商务平台与Tryton ERP的集成。 文献资料 可获取该项目的详细文档。 该文档是自动生成的,欢迎您对文档进行改进或翻译。 在开始任何事情之前,请创建一个问题,以避免重复工作。 ...

    zencart 数据迁移到magento 数据库操作

    4. 导入到Magento:使用Magento的批量导入功能,上传转换后的CSV文件,按照指示完成产品数据的导入。 三、客户数据迁移 1. 导出Zencart客户数据:从Zencart数据库中导出客户表,包括客户姓名、邮箱、地址等信息。 2...

Global site tag (gtag.js) - Google Analytics