Ответ 1
Вам нужно выполнить небольшой трюк, удалить дочерний блок и добавить его в новую позицию:
<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!