Domanda

Avere un problema strano in Magento 1.9.2.0

Ho il mio file locale.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>
.

Quando provo a fare: $this->getChildHtml('leftmenu'); Non renda nulla, se i Var_Dump It, mostra String '' (0)

Tuttavia se modifico il riferimento alla root al contenuto, quindi si rende, ma sotto tutto l'HTML.

Se lo modifichi di nuovo a Root e modifica $this->getChildHtml('leftmenu'); in $this->getLayout()->getBlock('leftmenu')->toHtml();, quindi renderà come dovrebbe ... qualsiasi idea del perché?

Grazie

È stato utile?

Soluzione 2

OK Quindi la risposta è - Catalog_product_View non usa root per creare blocchi - dovrebbe essere:

<?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>
.

Altri suggerimenti

Utilizzare sotto il codice

<?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>
.

chiamalo usando sotto

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

Maggiori informazioni qui

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top