2012-01-04 128 views
0

我在網上搜索瞭如何在產品頁面上添加「模塊」與我的模板。我建立了我的自定義模塊,顯示某種信息,我想說明一下,讓我們來說說我的產品的長篇描述。Magento - 在產品信息頁面上注入自定義模塊

我一直在試圖格式化我的模塊的xml佈局,但沒有運氣。

經過一番搜索,我發現這個:Programatically create Magento blocks and inject them into layout,我不能讓它爲我工作。但這可能是因爲我錯過了一些東西。

我模塊的結構是這樣的:

CODE:應用程序/代碼/本地/ deveti/Countrypurchase

設計:應用程序/設計/前端/預設/默認/模板/ Countrypurchase/index.phtml

佈局:應用程序/設計/前端/預設/默認/佈局/ countrypurchase.xml

我知道正確的方法是編輯主要佈局文件,手動添加塊,但我想這樣做的蒼蠅。

編輯:這工程!

所以我會做我的模塊佈局XML countrypurchase.xml是這樣的:

<?xml version="1.0"?> 
<layout version="1.0"> 
    <catalog_product_view> 
     <reference name="product.info"> 
      <block type="core/template" name="product.countrypurchase" as="countrypurchase" template="countrypurchase/index.phtml" /> 
     </reference> 
    </catalog_product_view>  
</layout> 

而且我添加了一個電話到目錄/產品/ view.phtml:

<?php echo $this->getChildHtml('countrypurchase'); ?> 

它的工作原理;)

謝謝你的幫助!

+0

我假設你的緩存被禁用並清除? – 2012-01-04 20:29:05

+0

是的。我總是測試這些事情與緩存禁用和清除。 – 2012-01-05 08:24:29

回答

1

產品查看頁面的問題是它的輸出主要由模板catalog/product/view.phtml中的PHP代碼控制。 Magento並沒有提供很多可擴展性。您可以將它添加到content塊,但這會將您的自定義內容完全放在頂部或完全放在底部。

我想你需要修改的模板,並添加PHP代碼在你想要的位置,以使您的自定義模塊,如:

<?php 
    echo $this->getChildHtml('product.countrypurchase'); 
?> 

有了這個地方,你可以使用名稱添加塊product.countrypurchase通過XML佈局或以編程方式。

+0

如果你可以看看,我已經將我的代碼添加到了問題中。謝謝! – 2012-01-05 08:29:03

+0

它工作。如果有其他人需要,我會編輯我的問題中的代碼。 – 2012-01-05 09:13:55

相關問題