Magento XML à l'aide de avant/après pour placer des blocs à peine les travaux

Je suis un front-end Magento dev, ont construit tout à fait un peu de mes propres thèmes et je veux comprendre Magento XML bloc de positionnement mieux...

J'utilise normalement un local.xml fichier à manipuler tout, je peux définir un bloc comme suit:

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

Cela permettrait de créer un bloc sur la page d'accueil (cms_index_index) et, depuis le bloc est créé un niveau sous root, normalement j'appel le bloc en ajoutant:

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

...à 1column.phtml (ou 2columns-left/right.phtml, 3columns.phtml etc). Le bloc peut être placé sur n'importe quelle page en substituant cms_index_index pour la page appropriée de la balise.

Je vois des trucs comme le suivant tout au long de la base des fichiers XML, et dans tutoriels:

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

content est un bloc qui est une partie de magento général de la structure de la page et, d'après ce que je comprends, before="content" devrait le placer où vous vous attendez, sans avoir à utiliser getChildHtml('exampleBlock'), so far so good... cependant, avant/après à peine jamais semble fonctionner pour moi, et il m'arrive fréquemment de recourir à la getChildHtml méthode de sauvegarde, ce qui n'est pas toujours idéale, et des moyens de montage plus .phtml fichiers que nécessaire.

J'ai essayé:

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

Rien ne s'affiche...

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

Toujours rien.... Je suis également conscient de l'utilisation de before="-" ou after="-" à la place quelque chose avant tout à l'intérieur de son bloc parent. J'ai parfois un peu de chance, mais en général seulement de la confusion et de la frustration.

J'ai googlé toute la place pour les "magento xml avant/après qui ne travaillent pas" et commence à se demander si c'est juste moi, ce qui se passe à... quelqu'un peut-il expliquer quand je peux et ne peux pas l'utiliser avant/après de la position des blocs? Quel est le problème avec les exemples ci-dessus?

Je suis dans magento 1.7.0.2 (les dernières données disponibles au moment de la publication)

La motivation principale pour cela est de réduire le nombre de core .phtml fichiers j'ai besoin de modifier pour ajouter un getChildHtml(), donc si il y a une autre (XML) moyen de contourner cela, je serais curieux de savoir...

  • tous les caches sont éteints :/
InformationsquelleAutor mike-source | 2013-01-23