Magento - 在从前端添加评论时覆盖核心评论模块以添加所有商店

Magento - override core review module to add all store when adding review from frontend

我需要在添加产品的新评级和评论时添加所有商店。我可以通过编辑核心文件来做到这一点。

文件是

app\code\core\Mage\Review\controllers\ProductController.php

我需要对 postAction() 函数进行更改。

现在,问题是我怎样才能在本地文件夹中制作这个东西?

我在本地文件夹中创建了一个新模块 "My_Module_review"。

按照我创建模块的步骤。

第 1 步:

在 app/etc/module 文件夹中添加了 My_Module_Review.xml。

<?xml version="1.0"?>
<config>
    <modules>
        <My_Module_Review>
        <active>true</active>
        <codePool>local</codePool>
        </My_Module_Review>
    </modules>
</config>

第 2 步: 在 app/code/local/My/Module/Review/etc

中创建了 config.xml
    <?xml version="1.0"?>
<config>
    <modules>
        <My_Module_Review>
            <version>0.1.0</version> 
        </My_Module_Review>
    </modules>
    <frontend>
        <routers>
            <review>
                <args>
                    <modules>
                        <Module_Review before="Mage_Review">My_Module_Review</Module_Review>
                    </modules>
                </args>
            </review>
        </routers>
    </frontend>
</config>

第 3 步: 在 app/code/local/My/Module/Review/controllers/ProductController.php

中创建了 ProductController.php 文件
require_once(Mage::getModuleDir('controllers','Mage_Review').DS.'ProductController.php');
class My_Module_Review_ProductController extends Mage_Review_ProductController
{


 public function indexAction() {
     print_r($_POST);exit;

 }
}

但是当我发表评论时没有任何反应。请帮忙。 谢谢

问题出在不正确的模块结构上:

您需要使用

app/code/local/{Vendor}/{Module name}/

而不是在上面的第一个主题中发布。

另外我的建议是不要重复 magento 模块名称,即使它们在 config.xml 中有不同的名称。模块命名示例:

app/code/local/Company/Survey

有关基本文件夹结构的更多详细信息:http://inchoo.net/magento/basic-folder-structure-for-new-magento-module/