すでに別のものを書き直しているコントローラーを書き直します
-
16-10-2019 - |
質問
コアコントローラーをすでに書き直しているコミュニティモジュールでコントローラーを書き換えることは可能ですか?
他の書き換えで動作しているため、構文は正しいですが、この特定の場合、書き換えは機能していません。
カートコントローラーの書き換えコミュニティモジュールがあり、コミュニティモジュールカートコントローラーを書き直したいと思います。
このようなものです:
My Controller -> Community Modules cart controller -> Mage Cart controller
解決
これは、拡張機能がどのようにコントローラーをオーバーライドしているかに依存する可能性がありますが、ここにあります。モジュールを追加する必要があります config.xml
ファイル、これはの子供として <config>
ノード。
<frontend>
<routers>
<checkout>
<args>
<modules>
<Your_ModuleNameHere before="Community_ModuleNameHere">Your_ModuleNameHere</Your_ModuleNameHere>
</modules>
</args>
</checkout>
</routers>
</frontend>
コミュニティモジュールが上記と同じ方法でカートコントローラーをオーバーライドすると、機能します。 「古い方法」を使用している場合 <from>
と <to>
タグは機能しません。
(そして、それをオーバーライドする方法についてはわかりません)。
編集
コントローラーにも名前が付けられていることを確認してください CartController
そしてそれはにあります Namespace/Module/controllers/CartController.php
. 。また、ローカルモジュールをコミュニティモジュールに依存させることもできますが、これが必須ではないと思います。また、コントローラークラスにコミュニティモジュールコントローラーを拡張します。
所属していません magento.stackexchange