在模塊中我寫的Magento座Injction我想用用mymodule.xml此塊之後插入自己的塊:通過module.xml文件
<block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
這是嵌套在
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
如可以在應用程序/設計/前端/鹼/默認/佈局/的catalog.xml可以看出
我已經嘗試了許多變體,如:
<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>
,只是
<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 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 name="content">
<block type="mymodule/folder_class" after="media" name="mymodule.folder.class" template="mymodule/folder/class.phtml" as="mymodule_folder_class"></block>
</reference>
但顯然它不是放在哪裏我想它被放置。
下面的答案,但我也想說這是一個很好的問題,並且比大多數無法回答的問題要好得多「它不起作用?!?!???」我們在這些部分獲得的佈局問題。 – 2011-01-10 22:13:53
謝謝@Alan 你的回答非常明確,但是改變`catalog/product/view.phtml`,雖然如果我只是一個網站所有者,這可能是一個好主意,但對我來說,作爲一個擴展開發者感覺不對。 如果你在另一個需要做同樣事情的另一個擴展(在`catalog/product_view_media`塊下添加你自己的塊)?這不會使我們的擴展互斥嗎?這個問題沒有解決辦法嗎?也許getChildHtml應該被覆蓋一些如何允許額外的塊被添加或預置到現有的基於佈局或配置? – epeleg 2011-01-11 09:15:08
1.如果你正在創建一個重新分發和廣泛使用的模塊,那麼是的,改變一個現有的模板文件將是一個糟糕的形式(並且不適用於Magento版本)。不幸的是,我還沒有看到添加/改變佈局的可重新分配模塊的**好**解決方案。這完全取決於誰將會使用你的模塊。由於佈局的高度可定製性,您總是會受到您的模塊最終用戶所做或可能做的事情的支配。 – 2011-01-11 10:58:16