【问题标题】:Magento: how to update just a block parameter with XML Layout UpdateMagento:如何使用 XML Layout Update 仅更新块参数
【发布时间】:2011-08-11 04:02:39
【问题描述】:

我有 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">

我想有一个比删除内容引用更好的解决方案,然后创建一个新的。
如何仅更新该参数?

【问题讨论】:

    标签: layout magento block


    【解决方案1】:

    在布局更新中添加以下内容:

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

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

    【讨论】:

    • 我不明白。我应该在类别管理的布局更新中直接调用&lt;block type="catalog/product_list"吗?
    • 对不起。我超前了,假设你理解&lt;reference&gt;s。
    • 哇!谢谢!我真的很怀念即使在单个块上也可以称为引用的东西,我认为它只能与“内容”、“左”或“右”等引用一起使用。现在一切都更清楚了!谢谢!
    猜你喜欢
    • 2013-05-31
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2013-06-17
    • 2012-09-11
    • 2014-03-25
    • 1970-01-01
    • 2013-09-29
    相关资源
    最近更新 更多