0

我想覆盖app/code/local文件夹中的 Magento Admin 核心控制器。

我需要覆盖app/code/core/Mage/Adminhtml/controllers/CustomerController.php

app/code/local/Mage/Adminhtml/controllers/CustomerController.php路径中。

我已经复制了核心文件并在本地文件夹中创建了相同的路径。

仍然没有从本地文件夹加载文件,它只从核心文件加载。

我已经清除了 Magento 缓存并为目录中的所有文件夹设置了文件权限(777)app/code/local

有人可以建议我解决这个问题吗?

非常感谢任何帮助。

非常感谢

4

2 回答 2

3

Magento 控制器的自动加载与其他类(块、模型等)不同,如果您希望重载它,最好的办法是配置您自己的控制器,以便在路由之前对其进行检查

于 2012-12-12T20:11:02.537 回答
0

让我向您展示我如何覆盖客户控制器

在 app/code/local/'你的公司'/'你的模块名称'/etc/config.xml

启用自定义模块

<config> <modules> <company_module> <active>true</active> <codePool>local</codePool> </company_module> </modules> </config>

路由自定义模块路径

<frontend> <routers> <company_module> <use>standard</use> <args> <module>company_module</module> <frontName>customer</frontName> </args> </company_module> </routers> </frontend>

重写类

<global> <rewrite> <company_module_address> <from><![CDATA[#^/address/#]]></from> <to>/customer/address/</to> </company_module_address> </rewrite> </global>

在 app/code/local/company/module/controllers/AddressController.php

<?php

require_once 'Mage/Customer/controllers/AddressController.php';

class Company_Module_AddressController extends Mage_Customer_AddressController { //Show your magic here }

希望这会有所帮助...谢谢

于 2014-05-09T13:06:49.920 回答