2012-03-26 12 views
0

Ich habe zwei Module. beide Module müssen das Bündel überschreiben Rendern Sie Elemente, und beide gut. Aber mein Problem ist, während beide Module aktiv sind, zeigt einer der Render-Elemente nicht ein anderes. Aber ich möchte beide Elemente im Blick zeigen. Show kann ich den Block nicht überschreiben anhängen.Magento, wie man den Block anfügt

Zum Beispiel

<sales_email_order_items> 
    <reference name="items"> 
     <action method="addItemRender"> 
      <type>bundle</type> 
      <block>booking/sales_order_items_renderer</block> 
      <template>email/order/items/invoice/default.phtml</template> 
     </action> 
     <action method="addItemRender"> 
      <type>bundle</type> 
      <block>module1/bundle_sales_order_items_renderer</block> 
      <template>module1/bundle/email/order/items/order/default.phtml</template> 
     </action> 
     <action method="addItemRender"> 
      <type>bundle</type> 
      <block>module2/bundle_sales_order_items_renderer</block> 
      <template>module2/bundle/email/order/items/order/default.phtml</template> 
     </action> 
    </reference> 
</sales_email_order_items> 

Above Block sorgt für zusätzliche Elemente aus module1 und module2, um E-Mail-Verkäufe. Aber module2 überschreibt modul1, ich muss beide Optionen zeigen, hilf mir dabei!

Antwort

0

Ein Vorschlag wäre oder in der Unterklasse

addItemRender 

Funktion overrdie zu ändern.

So ersetzt es den Block nicht, aber fügt es hinzu.

Wenn ich verstanden u richtig:

need to show both options 

Was mich betrifft, vielleicht, ich würde Module neu zu gestalten, so dass sie sich gegenseitig nicht stören. Könnte ein Beobachter-Event-Muster sein.

Verwandte Themen