Magento XML mit Vorher / Nachher zum Platzieren von Blöcken funktioniert kaum

Ich bin ein Front-End-Magento-Entwickler, habe einige meiner eigenen Themes erstellt und möchte die XML-Blockpositionierung von Magento besser verstehen ...

Ich benutze normalerweise einelocal.xml Datei, um alles zu manipulieren, kann ich einen Block wie folgt definieren:

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

Dies würde einen Block auf der Homepage erstellen (cms_index_index) und da der Block eine Ebene unter erstellt wirdrootNormalerweise würde ich den Block aufrufen, indem ich Folgendes hinzufüge:

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

...zu1column.phtml (oder2columns-left/right.phtml, 3columns.phtml usw). Der Block kann durch Ersetzen auf einer beliebigen Seite platziert werdencms_index_index für das entsprechende Seitentag.

Ich sehe in den XML-Kerndateien und in den Tutorials Folgendes:

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

content ist ein Block, der Teil der allgemeinen Seitenstruktur von magento ist und nach meinem Verständnisbefore="content" sollte es dort platzieren, wo Sie es erwarten würden, ohne es verwenden zu müssengetChildHtml('exampleBlock'), soweit so gut ... jedoch scheint Vorher / Nachher für mich kaum zu funktionieren, und ich greife häufig auf die Methode getChildHtml als Backup zurück, was nicht immer ideal ist und bedeutet, mehr .phtml-Dateien zu bearbeiten als nötig .

Ich habe es versucht:

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

Nichts erscheint ...

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

Immer noch nichts .... Mir ist auch bewusst, dass ich es benutzebefore="-" oderafter="-" um etwas vor alles innerhalb des übergeordneten Blocks zu platzieren. Ich habe gelegentlich etwas Glück damit, aber im Allgemeinen werde ich nur verwirrt und frustriert.

Ich habe überall nach 'magento xml before / after not working' gegoogelt und mich gefragt, ob das nur mir passiert ... kann mir jemand erklären, wann ich Blöcke vorher / nachher positionieren kann und wann nicht? Was stimmt mit den obigen Beispielen nicht?

Ich bin in Magento 1.7.0.2 (spätestens zum Zeitpunkt der Veröffentlichung verfügbar)

Die Hauptmotivation dafür ist, die Anzahl der .phtml-Kerndateien zu reduzieren, die ich bearbeiten muss, um eine hinzuzufügengetChildHtml()Wenn es also eine andere (XML-) Möglichkeit gibt, dies zu umgehen, wäre ich interessiert zu wissen ...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage