J'ai un problème de réécriture de classe dans Magento Onepage Checkout car j'ai un module personnalisé dans le pool de codes local et une extension tierce dans le pool de codes de communauté, tous deux étendant la même classe ...
J'ai essayé d'ajouter un nœud dépendant au fichier ModuleA_Name.xml d'un module puis d'étendre la classe de ModuleB dans le fichier Onepage.php mais cela n'a pas fonctionné.
Quelqu'un pourrait-il me donner des informations sur la façon de procéder? Je sais qu'il existe une autre façon de le faire en utilisant un observateur, mais je pourrais vraiment avoir besoin d'une solution pour le moment? En outre, serait-il dangereux pour moi d'utiliser une dépendance puisque ModuleB ne peut être activé que pour différents magasins / vues, cela signifierait-il que le module dépendant ne fonctionnerait plus?
Merci d'avance pour l'aide ...
ModuleA
<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>
ModuleB
<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>
la source
Onepage
classe en particulier, le bloc ou le modèle?Réponses:
Vous avez 3 choix pour résoudre les conflits:
<depends>
capacité de faire dépendre une extension d'une autre. Ils réécriront ensuite dans cet ordreExemple (option # 2)
Vous le changeriez en:
Voir /programming/14815717/multiple-modules-overriding-same-core-file-in-magento
la source
section allow
mais elle ne devient pas active ...