質問

Magento 1.9.2.0の奇妙な問題を抱えている

local.xmlファイルを持っています:

<?xml version="1.0"?>
<layout>
    <catalog_product_view>
        <reference name="root">
            <block type="core/template" name="leftmenu" as="leftmenu"
                   template="catalog/product/view/left.phtml />
        </reference>
    </catalog_product_view>
</layout>
.

私がやろうとすると:$this->getChildHtml('leftmenu');それが何でもレンダリングされません、iver_dumpが文字列を表示する場合は ''(0)

しかし、私がルートへの参照をコンテンツに変更した場合、それはすべてのHTMLの下にレンダリングされます。

rootに戻って、$this->getChildHtml('leftmenu');$this->getLayout()->getBlock('leftmenu')->toHtml();に変更すると、それはそれがそうであるようにレンダリングされます...

ありがとう

役に立ちましたか?

解決 2

OKだから回答は - catalog_product_viewはブロックを作成するためにrootを使用しません - それは次のようになります。

<?xml version="1.0" ?>
<layout>
    <catalog_product_view>
        <reference name="product.info">
            <block type="core/template" name="product.left.menu" as="product.left.menu"
                   template="catalog/product/view/left.phtml" />
            <block type="core/template" name="product.tabs" as="product.tabs"
                   template="catalog/product/view/tabs/tabs.phtml" />
            <block type="core/template" name="product.related" as="product.related"
                   template="catalog/product/list/related.phtml" />
        </reference>
    </catalog_product_view>
</layout>
.

他のヒント

下記のコード

<?xml version="1.0"?>
<layout>
    <catalog_product_view>
        <reference name="content">
            <block type="core/template" name="leftmenu" as="leftmenu"
                   template="catalog/product/view/left.phtml />
        </reference>
    </catalog_product_view>
</layout>
.

下記を使ってそれを呼び出す

echo $this->getChildHtml('leftmenu');
.

詳細

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top