|alterner

El filtro |alterner{a, b, c, ...} (a partir de SPIP 1.8.2) aplicado a una baliza numérica (habitualmente a #COMPTEUR_BOUCLE) en el interior de un bucle muestra sucesivamente y en orden cada uno de sus argumentos en cada cambio de valor de la baliza.

Por ejemplo, [(#COMPTEUR_BOUCLE|alterner{white, yellow})] mostrará «white» en la primera iteración del bucle, «yellow» en la segunda, «white» en la tercera, «yellow» en la cuarta, etc. De este modo, se puede hacer una lista de artículos que utilicen un color diferente para las líneas pares e impares:

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

Este filtro no es binario: es posible hacer que muestre un dato cada x cambios de valor; el bucle siguiente mostrará los títulos de artículo en bloques de cuatro, cambiando de color en cada bloque:

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

Autor o autora David Sánchez Crespillo Publicado el: Actualizado: 26/10/12

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