我想覆盖app/code/local
文件夹中的Magento Admin核心控制器。
我需要覆盖app/code/core/Mage/Adminhtml/controllers/CustomerController.php
在app/code/local/Mage/Adminhtml/controllers/CustomerController.php
路径中。
我复制了核心文件并在本地文件夹中创建了相同的路径。
仍然没有从本地文件夹加载文件,它只从核心文件加载。
我已清除Magento缓存并为app/code/local
目录中的所有文件夹设置了文件权限(777)。
任何人都可以建议我解决这个问题吗?
任何帮助都非常感激。
非常感谢
答案 0 :(得分:3)
Magento控制器不会像其他类(块,模型等)一样自动加载,如果你想超载它,你最好的选择是configure your own controller to get checked before it in the routing。
答案 1 :(得分: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
}
希望这有帮助......谢谢