Agencement

Toujours dans la suite de mes essais avec les jeux de template et leur fonctionnement, voilà un exemple de ce qu’il est possible de faire.

Imaginons que contrairement à l’agencement ordinaire, sur la page d’un billet, où l’on a successivement la liste des commentaires déjà publiés pour ce billet, le formulaire de publication d’un commentaire et l’adresse de signalement, je veuille mettre en dernier la liste des commentaires.

Dans ce cas là, il suffit de « cloner » le fichier _entry-feedback.html et de mettre ceci comme contenu :

{{tpl:extends parent="__parent__"}}
<tpl:Block name="_entry-feedback-content">
  <tpl:EntryIf operator="or" show_comments="1" show_pings="1">
    <section class="post-feedback">
  </tpl:EntryIf>
  <tpl:Block name="_entry-feedback-form">
    {{tpl:parent}}
  </tpl:Block>
  <tpl:Block name="_entry-feedback-ping">
    {{tpl:parent}}
  </tpl:Block>
  <tpl:Block name="_entry-feedback-comments">
    {{tpl:parent}}
  </tpl:Block>
  <tpl:EntryIf operator="or" show_comments="1" show_pings="1">
    </section> <!-- # end post-feedback -->
  </tpl:EntryIf>
</tpl:Block>

Je détaille.

1re ligne, on indique qu’on hérite du fichier original du jeu de template — en gros on passe en mode surcharge.

Ensuite je reprends le bloc principal _entry-feedback-content et son contenu — il y aurait peut-être matière à ajouter quelques blocs ici, on verra plus tard — en vidant le contenu des trois blocs _entry-feedback-comments, _entry-feedback-form et _entry-feedback-ping et en ajoutant à l’intérieur la balise {{tpl:parent}} qui permet d’indiquer qu’on veut récupérer tout le contenu du bloc original.

Ensuite il suffit de repositionner les blocs comme on le souhaite ; ici j’ai descendu le bloc _entry-feedback-comments en 3e position.

Et c’est tout.


On voit dans cet exemple qu’il y a encore matière à agrémenter le code des templates de blocs supplémentaires, comme ici autour des balises de début et fin de section. Ça nous éviterait de devoir reprendre leur contenu dans notre « clone ».

Il va falloir que je refasse une passe sur le jeu de template dotty

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/15017

Haut de page