До и после в Local.xml Magento? - PullRequest
       41

До и после в Local.xml Magento?

5 голосов
/ 11 ноября 2011

Мне удалось добраться до точки, где я понимаю, как перемещать блоки от столбца к столбцу в моих макетах Magento: путем указания атрибута «left» или «right» в теге <reference>. Однако я не понимаю, как изменить порядок , в котором появляются блоки. Я заметил, что атрибуты "before" и "after" тега <block> имеют какое-то отношение к этому, но я не уверен, как они работают. Если я хочу переместить блок из верхней части его области в другое место на нашей странице, как правильно использовать и синтаксис этих атрибутов?

Например, у меня есть страница категории, и у меня есть следующие блоки:

  • view.phtml
    • list.phtml
      • toolbar.phtml

... и так далее.

Я хочу разместить свой блок где-нибудь внутри этих блоков или в верхней части этих блоков, или сделать так, чтобы все эти блоки отображались внутри другого блока. Как я могу использовать «до» и «после» для достижения этого, используя мой local.xml файл?

Примечание. Я могу сделать это вручную, унаследовав соответствующие XML-файлы, но это не является хорошим решением проблемы в целом.

1 Ответ

6 голосов
/ 12 ноября 2011

before: используется для позиционирования блока перед блоком с именем, указанным в значении. Если используется значение «-», то блок располагается перед всеми остальными блоками своего уровня вложенности блоков.

after: используется для позиционирования блока после блока с именем, указанным в значении. Если используется значение «-», блок позиционируется после всех остальных блоков его уровня вложенности блоков.

Обновлено: примеры некоторых случайных обновлений макета ядра:

<reference name="right">
    <block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
</reference>

<reference name="right">
    <block type="catalog/product_list_related" name="catalog.product.related" before="-" template="catalog/product/list/related.phtml"/>
</reference>

Обновлено: Я считаю, before и after работают только в core/text_list и аналогичных (нисходящих) блоках, то есть в блоках, которые просто визуализируют блоки своих вложенных блоков.

...