有人可以提供一些洞察评论。 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作业,然后将其汇总。

许可以下: CC-BY-SA归因
scroll top