我正在尝试覆盖洋红色的控制器,但它似乎无法正常工作。在我的模块配置.xml文件中,我有以下内容
<config>
<frontend>
<routers>
<customer>
<args>
<use>standard</use>
<modules>
<Mymodule_Sales before="Mage_Customer_Account">Mymodule_Sales_Account</Mymodule_Sales>
</modules>
</args>
</customer>
</routers>
</frontend>
</config>
所以我的问题是,我还错过了什么?这就是我覆盖控制器所要做的全部工作吗?我的模块被 magento 拾取,因为我已经能够覆盖一个块。只是对此有问题。
我唯一做错的事情是错误地陈述了 before=" 路径
而不是拥有
Mage_Customer_Account
它必须是...
Mage_Customer
我想你必须告诉 magento 要覆盖哪个模块,magento 会弄清楚你试图覆盖哪个控制器和操作,只需创建文件和操作即可。
假设你在/app/etc/modules/Company_Modulename.xml 中启用你的模块
<config>
<modules>
<Company_Modulename>
<version>0.9.8</version>
</Company_Modulename>
</modules>
<frontend>
<routers>
<modulename>
<use>standard</use>
<args>
<modules>
<Company_Modulename before="Mage_Customer">Company_Modulename</Company_Modulename>
</modules>
</args>
</modulename>
</routers>
<layout>
<updates>
<modulename>
<file>company_modulename.xml</file>
</modulename>
</updates>
</layout>
</frontend>
</config>
你也编辑了你的php和xml吗?有关覆盖控制器的所有步骤的有用参考,请参阅此处