In einem Modul ich schreibe Ich möchte mit mymodule.xml verwenden, um meine eigenen Block nach diesem Block einfügen:Magento-Block Injction über module.xml Dateien
<block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
, die innerhalb
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
verschachtelt
wie in app/design/frontend/base/default/layout/catalog.xml
ich habe viele Varianten zu sehen, wie versucht:
<reference name="content">
<reference name="product.info">
<block type="mymodule/folder_class" after="media" name="mymodule.folder.class" template="mymodule/folder/class.phtml" as="mymodule_folder_class"></block>
</reference>
</reference>
und nur
<reference name="product.info">
<block type="mymodule/folder_class" after="media" name="mymodule.folder.class" template="mymodule/folder/class.phtml" as="mymodule_folder_class"></block>
</reference>
und
<reference name="product.info">
<block type="mymodule/folder_class" after="media" name="mymodule.folder.class" template="mymodule/folder/class.phtml" as="mymodule_folder_class"></block>
</reference>
aber ich kann nicht die richtige Kombination zu finden scheinen. der einzige, mein Block macht, ist:
<reference name="content">
<block type="mymodule/folder_class" after="media" name="mymodule.folder.class" template="mymodule/folder/class.phtml" as="mymodule_folder_class"></block>
</reference>
aber offensichtlich ist es nicht gegeben, wo ich es wollte platziert werden.
Antwort unten, aber ich wollte auch sagen, das war eine gut gestellte Frage, und besser als die meisten der nicht zu beantwortenden "es funktioniert nicht?!?! ???" Art von Layout-Fragen kommen wir um diese Teile herum. –
Danke @Alan Ihre Antwort ist sehr klar, aber wechselnde 'Katalog/Produkt/view.phtml', während es eine gute Idee wäre, wenn ich nur ein Website-Besitzer wäre, fühlt sich einfach falsch für mich als Erweiterung Entwickler. Was ist, wenn Sie noch eine andere Erweiterung schreiben, die dasselbe tun muss (fügen Sie einen eigenen Block unter dem 'catalog/product_view_media' Block hinzu)? Wird dies nicht dazu führen, dass sich unsere Erweiterungen gegenseitig ausschließen? Gibt es keine Lösung für dieses Problem? vielleicht sollte getChildHtml überschrieben werden, wie es möglich ist, dass zusätzliche Blöcke basierend auf dem Layout oder der Konfiguration an bestehende angehängt oder vorangestellt werden? – epeleg
1. Wenn Sie ein Modul für die Weiterverteilung und breite Verwendung erstellen, dann wäre das Ändern einer vorhandenen Vorlagendatei eine schlechte Form (und würde nicht für alle Versionen von Magento funktionieren). Leider habe ich keine ** gute ** Lösung für neu verteilbare Module gesehen, die ein Layout hinzufügen/verändern. Alles hängt davon ab, wer Ihr Modul verwenden wird. Da das Layout hochgradig anpassbar ist, sind Sie immer der Gnade ausgeliefert, was Ihre Modul-Endbenutzer getan haben oder tun könnten. –