覆盖app / code / local文件夹中的Magento Adminhtml控制器

时间:2012-12-12 18:43:48

标签: magento

我想覆盖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)。

任何人都可以建议我解决这个问题吗?

任何帮助都非常感激。

非常感谢

2 个答案:

答案 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 }

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