通过magento中的local.xml文件更改块的顺序

前端之家收集整理的这篇文章主要介绍了通过magento中的local.xml文件更改块的顺序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以通过local.xml文件更改已经存在的块的顺序吗?
我知道您可以使用after或before属性更改块的顺序,但如何更改现有块的这些属性

例如,如果我想将分层导航块放在左栏中的通讯订阅块的下面,我该如何做?

您需要执行一个小技巧,删除子块并将其添加到新位置:
<reference name="parent.block.name">
    <action method="unsetChild">
        <alias>child_block_alias</alias>
    </action>
    <action method="insert">
        <blockName>child.block.name</blockName>
        <siblingName>name_of_block</siblingName>
        <after>1</after>
        <alias>child_block_alias</alias>
    </action>
</reference>

此布局XML指令执行所需的操作。看看这个参考的参考插入方法

> blockName是整个布局中的块唯一名称,例如product.view
> siblingName是块唯一的名称,它已经存在于插入目标块中,用于定位块。留空以显示在顶部或底部
之后是块位置的布尔标识符。如果等于1,则该块将在siblingName之后添加,或者在子列表的底部添加,如果siblingName为空
>别名是您的块的别名,如果为空,则将使用块的名称

一些例子:

最近浏览产品后,移动车侧栏

<reference name="right">
    <action method="unsetChild">
        <alias>cart_sidebar</alias>
    </action>
    <action method="insert">
        <blockName>cart_sidebar</blockName>
        <siblingName>right.reports.product.viewed</siblingName>
        <after>1</after>
    </action>
</reference>

在最近浏览的产品之前移动推车侧边栏

<reference name="right">
    <action method="unsetChild">
        <alias>cart_sidebar</alias>
    </action>
    <action method="insert">
        <blockName>cart_sidebar</blockName>
        <siblingName>right.reports.product.viewed</siblingName>
        <after>0</after>
    </action>
</reference>

在右侧块的末端移动车侧边栏

<reference name="right">
    <action method="unsetChild">
        <alias>cart_sidebar</alias>
    </action>
    <action method="insert">
        <blockName>cart_sidebar</blockName>
        <siblingName></siblingName>
        <after>1</after>
    </action>
</reference>

在左侧方块的顶部移动车侧边栏

<reference name="right">
    <action method="unsetChild">
        <alias>cart_sidebar</alias>
    </action>
</reference>
<reference name="left">
    <action method="insert">
        <blockName>cart_sidebar</blockName>
    </action>
</reference>

喜欢与Magento合作!

猜你在找的XML相关文章