Magento - 在另一个块内回显块

时间:2014-05-30 17:38:45

标签: php magento magento-layout-xml

我有一个名为Home的CMS页面,在Design-> Layout Update Xml中包含以下代码

<reference name="content">
    <block type="core/template" template="homepage/home.phtml">
        <reference name="featured">
            <block type="catalog/product_list" name="featured" template="catalog/product/list.phtml">
                <action method="setCategoryId"><category_id>2</category_id></action>
                <action method="setColumnCount"><count>5</count></action>
            </block>
        </reference>
    </block>
</reference>

并在主页/ home.phtml

<div class="container home">
        <div class="promo">
           // Promo Here
        </div>

        <?php echo $this->getChildHtml('featured'); ?>
</div>

我的主要目标是尝试将特色区块插入到主页/ home.phtml模板中,但是上面的CMS页面中的当前布局xml没有显示。

非常感谢所有帮助。

3 个答案:

答案 0 :(得分:1)

xml文件中存在问题,我修改了代码

<reference name="content">
    <block type="core/template" template="homepage/home.phtml" >
            <block type="catalog/product_list" name="featured" template="catalog/product/list.phtml">
                <action method="setCategoryId"><category_id>2</category_id></action>
                <action method="setColumnCount"><count>5</count></action>
            </block>
    </block>
</reference>

其余的相同..

答案 1 :(得分:0)

,直到最底层( '特征'); ?&GT; 'featured'是块的名称而不是引用。如果要在模板中调用块,您将使用以下块语法 {{block type =“catalog / product_list”name =“featured”as =“featured”template =“catalog / product / list.phtml”}}

答案 2 :(得分:0)

像这样修改代码,我相信块的名称&#34; home_content&#34;应该在那里。

<reference name="content">
    <block type="core/template" name="home_content" template="homepage/home.phtml" >
        <block type="catalog/product_list" name="featured" template="catalog/product/list.phtml">
            <action method="setCategoryId"><category_id>2</category_id></action>
            <action method="setColumnCount"><count>5</count></action>
        </block>
    </block>
</reference>

我希望它会对你有所帮助。