0

我正在尝试覆盖洋红色的控制器,但它似乎无法正常工作。在我的模块 config.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 拾取,因为我已经能够覆盖一个块。只是有这个问题。

4

3 回答 3

2

我做错的唯一一件事是错误地说明了 before="" 路径

而不是拥有

Mage_Customer_Account

它需要...

Mage_Customer

我想你必须告诉magento要覆盖哪个模块,magento会通过你简单地创建文件和动作来找出你试图覆盖的控制器和动作。

于 2013-01-28T14:11:18.337 回答
1

假设您在 /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>
于 2013-01-28T14:13:14.897 回答
0

您是否也编辑了您的 php 和 xml?请参阅此处以获取有关覆盖控制器的所有步骤的有用参考

于 2013-01-28T14:05:53.577 回答