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>

だから私の質問は、他に何が欠けているのですか? controller をオーバーライドするために私がしなければならないのはこれだけですか? すでにブロックをオーバーライドできたため、私のモジュールは 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 に答える