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/
我需要在添加产品的新评级和评论时添加所有商店。我可以通过编辑核心文件来做到这一点。
文件是
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/