Magento:如何使用XML布局更新更新块参数

时间:2011-04-22 19:02:09

标签: layout magento block

我有一个catalog_category_default句柄,它有一个像这样的内容引用。

    <reference name="content">
        <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
            <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
                <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
                    <block type="page/html_pager" name="product_list_toolbar_pager"/>
                    <!-- The following code shows how to set your own pager increments -->
                        <action method="setDefaultDirection"><string>desc</string></action>
                        <action method="setDefaultListPerPage"><limit>10</limit></action>
                        <action method="setDefaultGridPerPage"><limit>9</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>10</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>20</limit></action>
                        <action method="addPagerLimit"><mode>list</mode><limit>30</limit></action>
                        <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
                        <action method="addPagerLimit"><mode>grid</mode><limit>12</limit></action>
                        <action method="addPagerLimit"><mode>grid</mode><limit>30</limit></action>
                        <action method="addPagerLimit"><mode>grid</mode><limit>60</limit></action>
                        <action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action>
                </block>
                <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
                <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
                <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
                <!--action method="setColumnCount"><count>4</count></action-->
                <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
            </block>
        </block>
    </reference>

我想使用magento后端的布局更新来更新它,以加载不同的模板,所以该行

<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">

应该成为

<block type="catalog/product_list" name="product_list" template="catalog/product/other-list.phtml">

我想有一个比移除内容引用更好的解决方案,并创建一个新的解决方案 我怎样才能更新该参数?

1 个答案:

答案 0 :(得分:5)

在布局更新中,只需添加:

<reference name="product_list">
    <action method="setTemplate"><name>catalog/product/other-list.phtml</name></action>
</reference>

这是可能的,因为Magento提供了它的所有块(以及模型和对象)魔术设置器。