Magento XML używający przed / po do umieszczania bloków prawie nigdy nie działa

Jestem front-endowym Magento, zbudowałem kilka własnych motywów i chcę lepiej zrozumieć pozycjonowanie bloków XML Magento ...

Zwykle używam alocal.xml plik do manipulowania wszystkim, mogę zdefiniować blok w następujący sposób:

<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>

Spowodowałoby to utworzenie bloku na stronie głównej (cms_index_index) i ponieważ blok jest tworzony o jeden poziom poniżejroot, Zwykle dzwoniłbym do bloku, dodając:

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

...do1column.phtml (lub2columns-left/right.phtml, 3columns.phtml itp). Blok można umieścić na dowolnej stronie, zastępując gocms_index_index dla odpowiedniego tagu strony.

W podstawowych plikach XML iw samouczkach widzę takie rzeczy, jak poniższe:

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

content jest blokiem, który jest częścią ogólnej struktury strony magento iz tego, co rozumiem,before="content" powinien umieścić go tam, gdzie się spodziewałeś, bez potrzeby używaniagetChildHtml('exampleBlock'), do tej pory tak dobrze ... jednak przed / po prawie nigdy nie wydaje mi się działać, a ja często korzystam z metody getChildHtml jako kopii zapasowej, która nie zawsze jest idealna i oznacza edycję większej liczby plików .phtml niż to konieczne .

Próbowałem:

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

Nic się nie pojawia ...

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

Nadal nic .... Wiem też o używaniubefore="-" lubafter="-" umieścić coś przed wszystkim w jego bloku macierzystym. Od czasu do czasu mam z tym trochę szczęścia, ale generalnie jestem zdezorientowany i sfrustrowany.

Wszedłem w to miejsce po „magento xml przed / po niedziałającym” i zacząłem się zastanawiać, czy to po prostu to się dzieje… czy ktoś może wyjaśnić, kiedy mogę i nie mogę użyć pozycji przed / po do pozycjonowania bloków? Co jest nie tak z powyższymi przykładami?

Jestem w Magento 1.7.0.2 (najnowsze dostępne w momencie wysyłania)

Główną motywacją tego jest zmniejszenie liczby podstawowych plików .phtml, które muszę edytować, aby dodaćgetChildHtml(), więc jeśli jest inny sposób (XML) na obejście tego, chciałbym wiedzieć ...

questionAnswers(1)

yourAnswerToTheQuestion