Magento评论 - 什么时候聚集?
-
16-10-2019 - |
题
有人可以提供一些洞察评论。 rating_option_vote_aggregated
桌子?我正在尝试根据四星级或更高的评论来过滤我的评论,我正在寻求使用 percent_approved
连接评论表的列,但是并非所有最新批准的评论都在 rating_option_vote_aggregated
桌子。
我们是否需要安装某种调用后的审查后代码 $review->aggregate()
?
提前致谢!
解决方案
没有魔术代码可以自动为客户端程序员汇总评论数据 - 您需要在创建评论对象后手动调用此方法。您可以在 postAction
方法IN
app/code/core/Mage/Review/controllers/ProductController.php
以及后端的各种方法
app/code/core/Mage/Adminhtml/controllers/Catalog/Product/ReviewController.php
我的猜测是发生了两件事之一。首先是您有一些自定义代码,这些代码正在手动创建评论,但未能致电 aggregate
正确。
第二个是试图审查产品的人有一定比例的人,但是由于服务器负载或其他问题,该请求失败了,因此
$review->setEntityId($review->getEntityIdByCode(Mage_Review_Model_Review::ENTITY_PRODUCT_CODE))
->setEntityPkValue($product->getId())
->setStatusId(Mage_Review_Model_Review::STATUS_PENDING)
->setCustomerId(Mage::getSingleton('customer/session')->getCustomerId())
->setStoreId(Mage::app()->getStore()->getId())
->setStores(array(Mage::app()->getStore()->getId()))
->save();
foreach ($rating as $ratingId => $optionId) {
Mage::getModel('rating/rating')
->setRatingId($ratingId)
->setReviewId($review->getId())
->setCustomerId(Mage::getSingleton('customer/session')->getCustomerId())
->addOptionVote($optionId, $product->getId());
}
被称为,但是
$review->aggregate();
不是。如果我打算解决此问题,我会在构建非聚集评论列表的地方添加一个CRON作业,然后将其汇总。