Schreiben Sie einen Controller neu, der bereits einen anderen umschreibt
-
16-10-2019 - |
Frage
Ist es möglich, einen Controller in einem Community -Modul umzuschreiben, das bereits einen Kerncontroller umschreibt?
Ich habe die Syntax korrekt, da sie in anderen Umschreibungen funktioniert, aber in diesem speziellen Fall funktioniert das Umschreiben nicht.
Es gibt ein Community -Modul, das den Cart -Controller umschreibt, und ich möchte den CART -CART -Controller der Community -Module neu schreiben.
Es wäre so:
My Controller -> Community Modules cart controller -> Mage Cart controller
Lösung
Dies kann davon abhängen, wie die Erweiterung den Controller überschreibt, aber hier geht. Sie müssen die Ihres Moduls hinzufügen config.xml
Datei, dies als Kind der <config>
Knoten.
<frontend>
<routers>
<checkout>
<args>
<modules>
<Your_ModuleNameHere before="Community_ModuleNameHere">Your_ModuleNameHere</Your_ModuleNameHere>
</modules>
</args>
</checkout>
</routers>
</frontend>
Wenn das Community -Modul den CART -Controller auf die gleiche Weise wie oben beschrieben überschreibt, funktioniert es. Wenn es die "alte Methode" mit verwendet <from>
und <to>
Tags dann wird es nicht funktionieren.
(Und ich habe keine Ahnung, wie ich das außer Kraft setzen soll).
BEARBEITEN
Stellen Sie sicher, dass Ihr Controller auch benannt ist CartController
Und es liegt in Namespace/Module/controllers/CartController.php
. Vielleicht möchten Sie auch Ihr lokales Modul vom Community -Modul abhängen, aber ich denke nicht, dass dies obligatorisch ist. Lassen Sie Ihre Controller -Klasse auch den Community -Modul -Controller erweitern.