Ich habe ein Problem beim Umschreiben von Klassen in Magento Onepage Checkout, da ich ein benutzerdefiniertes Modul im lokalen Codepool und eine Drittanbietererweiterung im Community-Codepool habe, die beide dieselbe Klasse erweitern ...
Ich habe versucht, der Datei ModuleA_Name.xml eines Moduls einen abhängigen Knoten hinzuzufügen und dann die Klasse von ModuleB in der Datei Onepage.php zu erweitern , aber dies hat nicht funktioniert.
Könnte mir jemand sagen, wie das geht? Ich weiß, dass es einen anderen Weg gibt, dies mit einem Observer zu tun, aber ich könnte im Moment wirklich nur eine Lösung brauchen. Wäre es für mich auch gefährlich, eine Abhängigkeit zu verwenden, da Modul B möglicherweise nur für verschiedene Speicher / Ansichten aktiviert ist. Würde dies bedeuten, dass das abhängige Modul nicht mehr funktioniert?
Vielen Dank im Voraus für die Hilfe ...
ModulA
<global>
<rewrite>
<moduleA>
<from><![CDATA[#^/checkout/onepage/#]]></from>
<to>/moduleA/onepage/</to>
</moduleA>
<moduleA>
<from><![CDATA[#^/checkout/cart/add/#]]></from>
<to>/moduleA/cart/add/</to>
</moduleA>
</rewrite>
ModulB
<global>
<models>
<salesrep>
<class>ModuleB_SalesRep_Model</class>
<resourceModel>salesrep_mysql4</resourceModel>
</salesrep>
<salesrep_mysql4>
<class>ModuleB_SalesRep_Model_Mysql4</class>
<entities>
<salesrep>
<table>salesrep</table>
</salesrep>
</entities>
</salesrep_mysql4>
<checkout>
<rewrite>
<type_onepage>ModuleB_SalesRep_Model_Type_Onepage</type_onepage>
</rewrite>
</checkout>
<modulebadminthemecontroller>
<class>LucidPath_SalesRep_Controller</class>
</modulebadminthemecontroller>
</models>
</global>
quelle
Onepage
Klasse speziell, der Block oder das Modell?Antworten:
Sie haben drei Möglichkeiten, um Konflikte zu lösen:
<depends>
Funktion, um eine Erweiterung von einer anderen abhängig zu machen. Sie werden dann in dieser Reihenfolge neu schreibenBeispiel (Option 2)
Sie würden es ändern in:
Siehe /programming/14815717/multiple-modules-overriding-same-core-file-in-magento
quelle
section allow
aber sie wird nicht aktiv ...