Вам нужно выполнить небольшой трюк, удалить дочерний блок и добавить его в новую позицию:
<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-макета делает то, что вы хотите.Посмотрите на этот краткий справочник параметров для insert
метода:
blockName
- уникальное имя вашего блока в макете, product.view
, например, siblingName
- этоуникальное имя блока, которое уже существует в целевом блоке вставки, используется для позиционирования вашего блока.Оставьте пустым, чтобы отобразить его сверху или снизу. after
- это логический идентификатор позиции блока.Если равно 1
, то блок будет добавлен после siblingName
или внизу списка детей, если siblingName
пусто alias
- псевдоним вашего блока, если онпусто будет использовано имя блока.
Некоторые примеры:
Переместить блок боковой панели корзины после недавно просмотренных продуктов
<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!