Domanda

ho un problema di classe riscrittura in Magento OnePage Checkout come ho un modulo personalizzato in piscina prefisso locale e una terza estensione festa in piscina codice comunitario sia estendendo la stessa classe ...

ho cercato di aggiungere un dipende nodo al ModuleA_Name.xml del file di un modulo poi estendere la classe di ModuleB nella Onepage.php file, ma questo non ha funzionato.

Qualcuno potrebbe darmi testa a testa su come fare questo so che c'è un altro modo per farlo utilizzando un osservatore, ma ho potuto davvero solo bisogno di una soluzione in questo momento? Inoltre, sarebbe pericoloso per me di utilizzare una dipendenza dal ModuleB può essere abilitato solo per negozio diverso / Vista sarebbe che significherebbe il modulo dipendente avrebbe funzionato non è più?

Grazie in anticipo per l'assistenza ...

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>
È stato utile?

Soluzione

Hai 3 scelte per risolvere i conflitti:

  • Unisci il codice da un file in un altro e l'interruttore di conflitto fuori la riscrittura config.xml in un
  • Spegnere la riscrittura in uno config.xml e poi fare il file PHP estensione in conflitto estendere l'altro interno
  • Utilizza la capacità <depends> per fare un interno dipendono da un'altra. Saranno poi riscrivere in questo ordine

Esempio (opzione # 2)

class A_Extension_Model_Type_Onepage extends Mage_Checkout_Model_Type_Onepage

Si potrebbe modificarla in:

class A_Extension_Model_Type_Onepage extends B_Extension_Model_Type_Onepage

https://stackoverflow.com/questions/14815717/ più moduli-override-same-core-file-in-magento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top