Pregunta

tengo un problema reescritura de clases en Magento OnePage Pedido ya que tengo un módulo personalizado en la piscina del código local y una tercera extensión de fiesta en la piscina de un código comunitario tanto la ampliación de la misma clase ...

He intentado añadir un nodo depende de la ModuleA_Name.xml archivo de un módulo a continuación, extender la clase de ModuleB en la Onepage.php < archivo / strong>, pero esto no ha funcionado.

Podría alguien darme cabezas para arriba en cómo hacer esto sé que hay otra manera de hacerlo utilizando un observador pero realmente sólo pudiera necesitar una solución en este momento? Además, sería peligroso para mí utilizar una dependencia desde ModuleB sólo puede ser activado para diferentes tienda / vistas tendría que significar el módulo dependiente dejaría de funcionar?

Gracias de antemano por la ayuda ...

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>
¿Fue útil?

Solución

Usted tiene 3 opciones para la resolución de conflictos:

  • Combinar el código de un archivo a otro y el interruptor en conflicto de la reescritura config.xml en un
  • y apague la reescritura en una config.xml y luego hacer el archivo de extensión PHP en conflicto extender la otra extensión
  • Uso de la capacidad <depends> para hacer una extensión depende de la otra. Ellos se vuelva a grabar en ese orden

Ejemplo (opción # 2)

class A_Extension_Model_Type_Onepage extends Mage_Checkout_Model_Type_Onepage

cambiaría a:

class A_Extension_Model_Type_Onepage extends B_Extension_Model_Type_Onepage

https://stackoverflow.com/questions/14815717/ -múltiples módulos-imperiosas-misma-core-file-en-magento

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top