Dans une rubrique, un article, etc. vous désirez afficher une liste de résultats triée {par titre}
. Lorsque cette liste devient importante, il devient nécessaire de clarifier l’affichage. Par exemple, nous pouvons vouloir afficher notre résultat groupé alphabétiquement avec, en début de page une liste des lettres de l’alphabet à cliquer pour accéder plus vite à la zone recherchée.
Il n’y a pas pour le moment de solution « automatique ». Il faut donc faire une boucle par lettre qui groupe l’ensemble des #TITRE des mots, articles, brèves... commencant par notre lettre. Chaque boucle est appelée depuis le haut de page par une ancre.
Ainsi pour B :
<a href="#Anchor-B">B</a>
, renvoie sur la page à une boucle pour B qui utilise le tri {titre==^[bB]} {par titre}
. Nous avons donc aussi bien les titres commençant par une minuscule que par une majuscule.
Nous prenons le cas d’un site gérant de nombreux mots-clés. Nous désirons créer une page qui affiche l’ensemble de nos mots-clés au public. Ici l’exemple est tiré d’une page rubrique détournée spécialement pour l’affichage des résultats [1]. Il suffit d’extrapoler pour appliquer l’index à des boucles auteurs, articles, etc.
Exemple, toujours pour cette lettre B :
<B_mots_B><a name="Anchor-B">B</a><br>
<BOUCLE_mots_B(MOTS){titre==^[bB]} {par titre} {", "}>
<a href=#URL_MOT>#TITRE</a>
</BOUCLE_editeur_B>
Si les mots-clés sont répartis entre plusieurs groupes, nous pouvons faire un index par groupe en rajoutant le critère{id_groupe=1}
pour le groupe id=1 :
<B_mots_B><a name="Anchor-B">B</a><br>
<BOUCLE_mots_B(MOTS){id_groupe=1}{titre==^[bB]} {par titre} {", "}>
<a href=#URL_MOT>#TITRE</a>
</BOUCLE_mots_B>
Notre boucle index pour être complète doit être lourdement répètée — et adaptée — 26 fois pour recenser les 26 lettres de l’alphabet latin, avec leurs variantes minuscules-majuscules et signes diacritiqes (accents, tilde, cédille). Il ne faut pas oublier de rajouter une 27e boucle pour les #TITRE commençant par un chiffre. Dans la boucle complète présentée à la fin de l’article, la boucle chiffrée est mise en tête.
Maintenant, tant qu’à avoir un index, autant en profiter pour connaitre le nombre d’occurences liées. Ici toujours avec notre index de mots-clés, retrouvons le nombre d’articles (de 0 à tous) par une sous-boucle :
<B_mot_B><a name="Anchor-B">B</a><br>
<BOUCLE_mots_B(MOTS){id_groupe=1}{titre==^[bB]} {par titre} {", "}>
<a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_article-b(ARTICLES) {id_mot}>
</BOUCLE_nombre_articles-b>[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_articles-b>
</BOUCLE_mots_B>
Voici maintenant la boucle complète avec — en prime — ce nombre d’articles liés à chaque mot-clé (cette boucle était utilisée ici ; depuis, ce site est passé en utf-8) :
<div align="center"><h2><b>
<a href="#Anchor-A">A</a>,
<a href="#Anchor-B">B</a>,
<a href="#Anchor-C">C</a>,
<a href="#Anchor-D">D</a>,
<a href="#Anchor-E">E</a>,
<a href="#Anchor-F">F</a>,
<a href="#Anchor-G">G</a>,
<a href="#Anchor-H">H</a>,
<a href="#Anchor-I">I</a>,
<a href="#Anchor-J">J</a>,
<a href="#Anchor-K">K</a>,
<a href="#Anchor-L">L</a>,
<a href="#Anchor-M">M</a>,
<a href="#Anchor-N">N</a>,
<a href="#Anchor-O">O</a>,
<a href="#Anchor-P">P</a>,
<a href="#Anchor-Q">Q</a>,
<a href="#Anchor-R">R</a>,
<a href="#Anchor-S">S</a>,
<a href="#Anchor-T">T</a>,
<a href="#Anchor-U">U</a>,
<a href="#Anchor-V">V</a>,
<a href="#Anchor-W">W</a>,
<a href="#Anchor-X">X</a>,
<a href="#Anchor-Y">Y</a>,
<a href="#Anchor-Z">Z</a>.<br>
<br>
<br>
</b></h2>
</div>
<B_editeur_0><strong><a name="Anchor-0"></a></strong><br>
<BOUCLE_editeur_0(MOTS){id_groupe=1}{titre==^[0123456789]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-0(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-0>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-0></BOUCLE_editeur_0>
<B_editeur_A><br><br><strong><a name="Anchor-A">A</a></strong><br>
<BOUCLE_editeur_A(MOTS){id_groupe=1}{titre==^[aAàÀáÁâÂäÄæÆãÃ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-a(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-a>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-a></BOUCLE_editeur_A>
<B_editeur_B><br><br><strong><a name="Anchor-B">B</a></strong><br>
<BOUCLE_editeur_B(MOTS){id_groupe=1}{titre==^[bB]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-b(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-b>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-b></BOUCLE_editeur_B>
<B_editeur_C><br><br><strong><a name="Anchor-C">C</a></strong><br>
<BOUCLE_editeur_C(MOTS){id_groupe=1}{titre==^[cçCÇ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-c(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-c>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-c></BOUCLE_editeur_C>
<B_editeur_D><br><br><strong><a name="Anchor-D">D</a></strong><br>
<BOUCLE_editeur_D(MOTS){id_groupe=1}{titre==^[dD]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-d(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-d>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-d></BOUCLE_editeur_D>
<B_editeur_E><br><br><strong><a name="Anchor-E">E</a></strong><br>
<BOUCLE_editeur_E(MOTS){id_groupe=1}{titre==^[eéèêëEÉÈÊË]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-e(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-e>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-e></BOUCLE_editeur_E>
<B_editeur_F><br><br><strong><a name="Anchor-F">F</a></strong><br>
<BOUCLE_editeur_F(MOTS){id_groupe=1}{titre==^[fF]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-f(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-f>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-f></BOUCLE_editeur_F>
<B_editeur_G><br><br><strong><a name="Anchor-G">G</a></strong><br>
<BOUCLE_editeur_G(MOTS){id_groupe=1}{titre==^[gG]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-g(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-g>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-g></BOUCLE_editeur_G>
<B_editeur_H><br><br><strong><a name="Anchor-H">H</a></strong><br>
<BOUCLE_editeur_H(MOTS){id_groupe=1}{titre==^[hH]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-h(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-h>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-h></BOUCLE_editeur_H>
<B_editeur_I><br><br><strong><a name="Anchor-I">I</a></strong><br>
<BOUCLE_editeur_I(MOTS){id_groupe=1}{titre==^[iîïIÎÏíÍìÌI]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-i(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-i>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-i></BOUCLE_editeur_I>
</B_editeur_I>
<B_editeur_J><br><br><strong><a name="Anchor-J">J</a></strong><br>
<BOUCLE_editeur_J(MOTS){id_groupe=1}{titre==^[jJ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-j(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-j>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-j></BOUCLE_editeur_J>
</B_editeur_J>
<B_editeur_K><br><br><strong><a name="Anchor-K">K</a></strong><br>
<BOUCLE_editeur_K(MOTS){id_groupe=1}{titre==^[kK]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-k(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-k>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-k></BOUCLE_editeur_K>
<B_editeur_L><br><br><strong><a name="Anchor-L">L</a></strong><br>
<BOUCLE_editeur_L(MOTS){id_groupe=1}{titre==^[lL]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-l(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-l>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-l></BOUCLE_editeur_L>
<B_editeur_M><br><br><strong><a name="Anchor-M">M</a></strong><br>
<BOUCLE_editeur_M(MOTS){id_groupe=1}{titre==^[mM]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-m(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-m>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-m></BOUCLE_editeur_M>
<B_editeur_N><br><br><strong><a name="Anchor-N">N</a></strong><br>
<BOUCLE_editeur_N(MOTS){id_groupe=1}{titre==^[nñNÑ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-n(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-n>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-n></BOUCLE_editeur_N>
<B_editeur_O><br><br><strong><a name="Anchor-O">O</a></strong><br>
<BOUCLE_editeur_O(MOTS){id_groupe=1}{titre==^[oõôöœòÒóÓOÕÔÖŒ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-o(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-o>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-o></BOUCLE_editeur_O>
<B_editeur_P><br><br><strong><a name="Anchor-P">P</a></strong><br>
<BOUCLE_editeur_P(MOTS){id_groupe=1}{titre==^[pP]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-p(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-p>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-p></BOUCLE_editeur_P>
<B_editeur_Q><br><br><strong><a name="Anchor-Q">Q</a></strong><br>
<BOUCLE_editeur_Q(MOTS){id_groupe=1}{titre==^[qQ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-q(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-q>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-q></BOUCLE_editeur_Q>
<B_editeur_R><br><br><strong><a name="Anchor-R">R</a></strong><br>
<BOUCLE_editeur_R(MOTS){id_groupe=1}{titre==^[rR]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-r(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-r>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-r></BOUCLE_editeur_R>
<B_editeur_S><br><br><strong><a name="Anchor-S">S</a></strong><br>
<BOUCLE_editeur_S(MOTS){id_groupe=1}{titre==^[sS]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-s(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-s>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-s></BOUCLE_editeur_S>
<B_editeur_T><br><br><strong><a name="Anchor-T">T</a></strong><br>
<BOUCLE_editeur_T(MOTS){id_groupe=1}{titre==^[tT]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-t(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-t>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-t></BOUCLE_editeur_T>
<B_editeur_U><br><br><strong><a name="Anchor-U">U</a></strong><br>
<BOUCLE_editeur_U(MOTS){id_groupe=1}{titre==^[uûüUÛÜùÙúÚ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-u(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-u>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-u></BOUCLE_editeur_U>
<B_editeur_V><br><br><strong><a name="Anchor-V">V</a></strong><br>
<BOUCLE_editeur_V(MOTS){id_groupe=1}{titre==^[vV]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-v(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-v>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-v></BOUCLE_editeur_V>
<B_editeur_W><br><br><strong><a name="Anchor-W">W</a></strong><br>
<BOUCLE_editeur_W(MOTS){id_groupe=1}{titre==^[wW]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-w(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-w>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-w></BOUCLE_editeur_W>
<B_editeur_X><br><br><strong><a name="Anchor-X">X</a></strong><br>
<BOUCLE_editeur_X(MOTS){id_groupe=1}{titre==^[xX]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-x(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-x>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-x></BOUCLE_editeur_X>
<B_editeur_Y><br><br><strong><a name="Anchor-Y">Y</a></strong><br>
<BOUCLE_editeur_Y(MOTS){id_groupe=1}{titre==^[yÿYŸý]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-y(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-y>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-y></BOUCLE_editeur_Y>
<B_editeur_Z><br><br><strong><a name="Anchor-Z">Z</a></strong><br>
<BOUCLE_editeur_Z(MOTS){id_groupe=1}{titre==^[zZ]} {par titre} {"<br>"}>
• <a href=#URL_MOT>#TITRE</a>
<BOUCLE_nombre_ouvrages-z(ARTICLES) {id_mot}></BOUCLE_nombre_ouvrages-z>
[(#TOTAL_BOUCLE) articles(s)]<//B_nombre_ouvrages-z></BOUCLE_editeur_Z>
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |