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

时间:2013-01-28 13:54:35

标签: php magento

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

3 个答案:

答案 0 :(得分:2)

我唯一错误的做法是错误地说明before =“”路径

而不是

Mage_Customer_Account

需要......

Mage_Customer

我想你必须告诉magento要覆盖哪个模块,而magento只会通过创建文件和操作来确定你试图覆盖哪个控制器和操作。

答案 1 :(得分: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>

答案 2 :(得分:0)

您是否编辑过php和xml?有关覆盖控制器的所有步骤的详细信息,请参阅here