Magento重新路由控制器,我错过了什么



我正在尝试覆盖洋红色的控制器,但它似乎无法正常工作。在我的模块配置.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吗?有关覆盖控制器的所有步骤的有用参考,请参阅此处

相关内容

最新更新