Использование Magento XML для размещения блоков до / после практически не работает

Я разработчик Magento, я создал немало своих собственных тем и хочу лучше понять позиционирование блоков Magento по XML ...

Я обычно используюlocal.xml Файл, чтобы манипулировать всем, я могу определить блок следующим образом:

<cms_index_index>
   <reference name="root">
      <block type="core/template" name="example_block" as="exampleBlock" template="page/html/example-block.phtml"/>
   </reference>
</cms_index_index>

Это создаст блок на главной странице (cms_index_index) и так как блок создан на один уровень нижеrootЯ бы обычно вызывал блок, добавляя:

<?php echo $this->getChildHtml('exampleBlock') ?>

... в1column.phtml (или же2columns-left/right.phtml, 3columns.phtml и т.д). Блок можно разместить на любой странице, подставивcms_index_index для соответствующего тега страницы.

Я вижу такие вещи в основных файлах XML и в учебниках:

<reference name="root">
   <block type="core/template" name="example_block" before="content" template="page/html/example-block.phtml"/>
</reference>

content это блок, который является частью общей структуры страниц magento и, насколько я понимаю,before="content" следует разместить его там, где вы ожидаете, без необходимости использоватьgetChildHtml('exampleBlock')пока все хорошо ... однако, до / после мне, кажется, никогда не удается работать, и я часто прибегаю к методу getChildHtml в качестве резервной копии, которая не всегда идеальна и требует редактирования большего количества файлов .phtml, чем это необходимо ,

Я пробовал:

<reference name="root">
   <block type="core/template" name="example_block" before="content" template="page/html/example-block.phtml"/>
</reference>

Ничего не появляется ...

<reference name="root">
   <block type="core/template" name="example_block" after="header" template="page/html/example-block.phtml"/>
</reference>

Все еще ничего .... Я также знаю об использованииbefore="-" или жеafter="-" поместить что-то перед всем в пределах своего родительского блока. Иногда мне в этом везет, но обычно я просто растерялся и разочаровался.

Я повсюду гуглил «magento xml до / после того, как он не работает» и начинаю удивляться, если это только у меня так происходит ... Может кто-нибудь объяснить, когда я могу и не могу использовать до / после для позиционирования блоков? Что не так с приведенными выше примерами?

Я в magento 1.7.0.2 (последняя версия доступна на момент публикации)

Основной мотивацией для этого является уменьшение количества основных .phtml файлов, которые мне нужно отредактировать, просто чтобы добавитьgetChildHtml()так что, если есть другой (XML) способ обойти это, мне было бы интересно узнать ...

Ответы на вопрос(1)

Ваш ответ на вопрос