|alterner

Le filtre |alterner{a, b, c, ...}appliqué à une balise numérique (le plus souvent #COMPTEUR_BOUCLE) à l’intérieur d’une boucle affiche à tour de rôle et dans l’ordre chacun de ses arguments à chaque changement de valeur de la balise.

  • Apparu en : SPIP 1.8.2

Exemples

Intégré dans une boucle, [(#COMPTEUR_BOUCLE|alterner{white, yellow})] affichera « white » à la première itération de la boucle, « yellow » à la deuxième, « white » à la troisième, « yellow » à la quatrième, etc.

Ainsi, on peut faire une liste d’article qui utilise une couleur de fond différente pour les lignes paires et impaires :

<B_lesarticles>
<ul>
<BOUCLE_lesarticles(ARTICLES){par titre}>
<li style="background: [(#COMPTEUR_BOUCLE|alterner{white, yellow})];">#TITRE</li>
</BOUCLE_lesarticles>
</ul>
</B_lesarticles>

Ce filtre n’est pas binaire : il est possible de lui faire afficher une donnée tous les x changements de valeur ; la boucle suivante affichera les titres d’article par bloc de 4 en changeant de couleur à chaque bloc :

<BOUCLE_lesarticles(ARTICLES) {par titre}>
[(#COMPTEUR_BOUCLE|alterner{<p style="color:red;">, '', '', '', <p style="color:green;">, '', '', ''})]
#TITRE<br>
[(#COMPTEUR_BOUCLE|alterner{'', '', '', </p>})]
</BOUCLE_lesarticles>
[(#TOTAL_BOUCLE|modulo{4}|=={0}|non)</p>]
</B_lesarticles>

Nb  : Le filtre |alterner peut s’appliquer à d’autres champs ou balises calculées que #COMPTEUR_BOUCLE, du moment que leur valeur est un entier strictement positif.

Voir aussi

la balise

Le filtre

Auteur denisb, Teddy Publié le : Mis à jour : 14/07/23

Traductions : català, English, Español, français, Nederlands