Magento企业版,版本1.13.1.0
无法通过管理员屏幕添加新的产品评论.在管理员中单击“添加新审核”按钮时,菜单目录:评论和评级:客户评论:所有评论,并在Magento中生成例外,然后显示404页面.
这是一个干净的Magento安装,没有自定义.
有关如何解决此问题的任何想法?
解决方法:
第74行的块类app / code / core / Mage / Adminhtml / Block / Review / Rating / Detailed.php使用硬编码的商店代码“default”调用setStoreFilter(),当存在时会产生异常代码为“default”的Magento没有商店,当关闭错误页面时,将管理员用户转发到404页面.
要重现此问题,请在Magento中创建第二个商店和相关商店视图,将“默认”商店代码更改为“mystorecode”,然后转到管理员菜单“目录>评论和评分>客户评论>所有评论”和按“添加新评论”按钮.
建议的修复方法如下:
--- a/app/code/core/Mage/Adminhtml/Block/Review/Rating/Detailed.php
+++ b/app/code/core/Mage/Adminhtml/Block/Review/Rating/Detailed.php
@@ -68,10 +68,13 @@ class Mage_Adminhtml_Block_Review_Rating_Detailed extends Mage_Adminhtml_Block_T
->addRatingOptions();
} elseif (!$this->getIsIndependentMode()) {
+ $default_store = Mage::app()->getWebsite()->getDefaultStore();
$ratingCollection = Mage::getModel('rating/rating')
->getResourceCollection()
->addEntityFilter('product')
- ->setStoreFilter(Mage::app()->getStore('default')->getId())
+ ->setStoreFilter( ($default_store)
+ ? $default_store->getId()
+ : Mage_Core_Model_App::ADMIN_STORE_ID )
->setPositionOrder()
->load()
->addOptionToItems();
简单地替换:
$ratingCollection = Mage::getModel('rating/rating')
->getResourceCollection()
->addEntityFilter('product')
->setStoreFilter(Mage::app()->getStore('default')->getId())
->setPositionOrder()
->load()
->addOptionToItems();
有:
$default_store = Mage::app()->getWebsite()->getDefaultStore();
$ratingCollection = Mage::getModel('rating/rating')
->getResourceCollection()
->addEntityFilter('product')
->setStoreFilter( ($default_store)
? $default_store->getId()
: Mage_Core_Model_App::ADMIN_STORE_ID )
->setPositionOrder()
->load()
->addOptionToItems();
希望这能解决问题.