Idée
Dans certain cas, on veut pouvoir faire un affichage un tout petit peu différent pour le premier — ou le dernier — élément retourné par une boucle.
Par exemple, dans une liste d’article, on peut vouloir que le premier <li> ait un cadre en haut et le dernier un cadre en bas.
Principe
Avec le filtre de test d’égalité, on peut donc tester si le #COMPTEUR_BOUCLE est égal au #TOTAL_BOUCLE de la façon suivante :
[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|?{'dernière',''})]ou si le #COMPTEUR_BOUCLE est égal à 1 :
[(#COMPTEUR_BOUCLE|=={1}|?{'première',''})]Exemples
Ici, on donne une « class » différente au premier élément de la liste et au dernier :
Dans ce deuxième exemple, on affiche une liste d’auteurs d’un article, en mettant des virgules entre les auteurs et un « et » pour le dernier auteur : « A, B et C ».
On regarde d’abord si on n’est pas au début de la boucle. Si c’est le cas, il ne faut rien afficher, on génère donc une chaîne vide avec le filtre |?.
Si on n’est pas au début de la boucle, on génère une chaîne non vide, on va donc afficher le code optionnel.
Celui-ci teste si on est à la fin d’une boucle. Si c’est le cas, on affiche un « et », sinon on va afficher une virgule « , ».



Vos commentaires
# Le 22 janvier 2006 à 10:32, par Fima
En réponse à : Un affichage différent pour le premier et le dernier article d’une boucle
mais ça ne marche pas avec une boucle récursive ...
# Le 22 janvier 2006 à 11:00, par Fima
En réponse à : Un affichage différent pour le premier et le dernier article d’une boucle
en fait, c’est #TOTAL_BOUCLE qui ne fonctionne pas avec les boucles récursives : il vaut 0 dès le deuxième élément de la liste ... (sous SPIP 1.8.2 e)
# Le 31 mai 2006 à 15:03, par migounanounet
En réponse à : Un affichage différent pour le premier et le dernier article d’une boucle
Est-ce que le problème a été résolu depuis (1.8.3 et/ou 1.9) ?
Répondre à ce message
# Le 15 avril 2005 à 00:12, par Olivier GENDRIN
En réponse à : > Un affichage différent pour le premier et le dernier article d’une boucle
Et où est la doc sur le test d’égalité ?
# Le 15 avril 2005 à 11:11, par mortimer
En réponse à : > Un affichage différent pour le premier et le dernier article d’une boucle
Dans la doc officielle bien sûr :-P
Une recherche le trouve très bien même.
Répondre à ce message