2016-09-21 54 views
0

我試圖在list.phtml文件中使用$this->getChildHtml()app/design/frontend/[custom]/[theme]/template/catalog/product處插入div

在做<?php var_dump($this->getChildHtml('odoo'))?>我得到string(0) ""

我在app/code/local/[Company]/[Module]創建一個模塊並創建了​​3210文件:

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <modules> 
     <Company_Module> 
      <version>1.0.0</version> 
     </Company_Module> 
    </modules> 
    <frontend> 
     <rwd> 
      <company> 
       <layout> 
        <odoo> 
         <file>odoo.xml</file> 
        </odoo> 
       </layout> 
      </company> 
     </rwd> 
    </frontend> 
</config> 

然後,裏面app/design/frontend/[custom]/[theme]/layout/odoo

<?xml version="1.0"?> 

<layout version="0.1.0"> 
     <reference name="content"> 
       <block type="core/template" name="odoo" template="catalog/product/odoo.phtml" as="odoo" /> 
     </reference> 
</layout> 

odoo.phtml代碼:

<div>Hello world</div> 

list.phtml

<?php var_dump($this->getChildHtml('odoo'))?> 

我已清除緩存,並手動刪除的full_page_cache內容,但我認爲我做somethign錯誤的。我對Magento沒有多少經驗,只是編輯前端的mostry,所以我在這裏有點迷路。

+0

你可以var_dump高一級?看起來'$ this'的getChildHtml'屬性沒有'odoo'標籤。 –

+0

var_dump($ this) –

+0

@phillipstack結果是一個空白頁。看起來它產生了一個恐懼,但看着system.log,沒有錯誤。 – aerojun

回答

0

已解決。

<block type="core/template" name="odoo" template="catalog/product/odoo.phtml" as="odoo" />添加到page.xml佈局。

0

嘗試使用可以看到的html包裝var_dump()。然後使用您的瀏覽器並檢查元素。內容可能在裏面。如果你var_dump()的HTML。您將看不到html的字符串表示形式。 html只是您正在查看的頁面的一部分。

試試這個。

<div style="background-color: blue; height:30px;"/> 
    <?php var_dump($this) ?> 
<div style="background-color: blue; height:30px;"/> 

如果你右擊並檢查元素,並通過在調試器的HTML瀏覽,你會發現$this內容。然後,您應該能夠確定您正在查找的標籤是否在裏面。

0

你可以試試下面我希望它爲你工作。

<?xml version="1.0"?> 

    <layout version="0.1.0"> 
    <catalog_product_view translate="label"> 
      <reference name="product.info"> 
        <block type="core/template" name="odoo" template="catalog/product/odoo.phtml" as="odoo" /> 
      </reference> 
    </catalog_product_view> 
</layout> 

此外,如果仍呈現空,那麼試着改變塊從核心/模板鍵入您的塊名稱。