Eu tenho um problema de reescrita de classe no Magento Onepage Checkout, pois tenho um módulo personalizado no pool de códigos local e uma extensão de terceiros no pool de códigos da comunidade, estendendo a mesma classe ...
Tentei adicionar um nó dependente ao arquivo ModuleA_Name.xml de um módulo e estender a classe ModuleB no arquivo Onepage.php, mas isso não funcionou.
Alguém poderia me dar uma dica de como fazer isso? Sei que existe outra maneira de fazer isso usando um Observer, mas realmente preciso de uma solução no momento? Além disso, seria perigoso para mim usar uma dependência, já que o Módulo B pode ser ativado apenas para diferentes armazenamentos / visualizações, o que significa que o módulo dependente não funcionaria mais?
Agradecemos antecipadamente a assistência ...
Módulo A
<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>
fonte
Onepage
classe especificamente, o bloco ou o modelo?Respostas:
Você tem três opções para resolver conflitos:
<depends>
recurso para fazer uma extensão depender de outra. Eles reescreverão nessa ordemExemplo (opção 2)
Você o alteraria para:
Consulte /programming/14815717/multiple-modules-overriding-same-core-file-in-magento
fonte
section allow
mas não se torna ativa ...