<tpl:LoopPosition>

La balise tpl:LoopPosition teste l'état actuel de parcours d'une boucle initiée au préalable par une boucle <tpl:Entries> ou équivalent et permet de traiter le code sous-jacent tant que la condition définie par les attributs est vérifiée.

Note :

Toutes les balises générant une boucle de type parcours d'un recordset (billets, catégories, archives, langues, commentaires, rétroliens, …) sont susceptibles d'être testées à l'aide de cette balise.

Attributs

start

Cet attribut définit l'indice de début à partir duquel la condition sera vérifiée. Cette valeur peut être négative, dans ce cas, le contrôle se fera sur le nombre total d'itérations de la boucle.

  • start="2" → la condition sera vérifiée dès la deuxième itération
  • start="-2" → la condition sera vérifiée dès l'avant-dernière itération

length

Cet attribut définit le nombre d'itérations pendant lesquelles la condition sera vérifiée. Cet attribut peut recevoir une valeur négative et dans ce cas, le contrôle sera effectué sur le nombre total d'itérations prévues décrémenté de cette valeur.

  • length="3" → la condition sera vérifiée pendant 3 itérations
  • length="-3" → la condition sera vérifiée jusqu'à ce qu'il reste 3 itérations à parcourir

even

Cet attribut définit la parité selon laquelle la condition sera vérifiée.

  • even="1" → la condition sera vérifiée à chaque itération paire de la boucle
  • even="0" → la condition sera vérifiée à chaque itération impaire de la boucle

modulo (2.7 minimum)

Cet attribut définit le nombre d'itérations avant lequel la condition sera vérifiée.

  • modulo="3" → la condition sera vérifiée toutes les 3 itérations (3, 6, 9, …)
  • modulo="2" → la condition sera vérifiée toutes les 2 itérations (2, 4, …), équivaut à even="1"

Exemples

Afficher le titre pour tous les billets de la boucle et le contenu pour les 3 premiers seulement

<tpl:Entries>
  <h3>{{tpl:EntryTitle}}</h3>
  <tpl:LoopPosition start="1" length="3">
    <div class="post-content">{{tpl:EntryContent}}</div>
  </tpl:LoopPosition> 
</tpl:Entries>

Afficher uniquement les deux derniers billets

<tpl:Entries>
  <tpl:LoopPosition start="-2">
    <h3>{{tpl:EntryTitle}}</h3>
    <div class="post-content">{{tpl:EntryContent}}</div>
  </tpl:LoopPosition> 
</tpl:Entries>

Afficher tous les tags en les séparant par une virgule

<tpl:Tags>
	{{tpl:TagID}}<tpl:LoopPosition start="1" length="-1">, </tpl:LoopPosition>
</tpl:Tags>

Dans ce code, <tpl:LoopPosition> permet de séparer les tags par une virgule, sans avoir de virgule après le dernier tag grâce à l'attribut length="-1".

Wiki powered by Dokuwiki.