Bonjour,
Dans une rubrique j’ai un grand nombre d’articles que je classe par ordre alphabétique.
Pour limiter l’affichage par lettre, j’utilise une solution avec les expressions régulières :
Un bandeau en haut avec toutes les lettres :
A
B
C
…
Et plus bas dans mon code :
<BOUCLE_articles(ARTICLES){id_rubrique}{par titre}{titre == #ENV{lettre,^.{1}}}>
[(#SOUSTITRE)]
qui me permet d’afficher la liste des articles pour chaque lettre sélectionné.
Ma question :
Existe-t-il un moyen de n’afficher dans mon bandeau haut que les lettres qui correspondent à au moins un article,
c.a.d. Si je n’ai pas d’article qui commence par A alors le A n’apparait pas.
Merci d’avance si quelqu’un a une idée.
yanik
Avec bonux installé pour (POUR) :
<BOUCLE_alphabet(POUR){tableau #ARRAY{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}}>
<BOUCLE_check_articles(ARTICLES){id_rubrique}{par titre}{titre == ^#VALEUR}{0,1}>
#VALEUR
</BOUCLE_check_articles>
</BOUCLE_alphabet>
Yannick Fortin a écrit :
Bonjour,
Je ne connaissais cette contrib, merci.
Cependant, j’ai un petit souci d’affichage de l’index alphabétique.
La boucle ne m’affiche qu’une lettre sur deux
B D F H … soit 13 lettres au lieu des 26.
J’ai pourtant au moins un article qui commence par chaque lettre
Est-ce la version de spip que j’utilise : 2.0.5 [13790] ?
Merci
Yanik
Non, c’est ma faute, j’ai tapé trop vite 
Il faut remplacer {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z} par {1,A,2,B,3,C,… etc}
#ARRAY crée un tableau de la forme {clé1,valeur1,clé2,valeur2,etc.}
A bientôt
Simon
Yannick Fortin a écrit :
Effectivement cela va beaucoup mieux ainsi.
Merci
yanik