Créer un index alphabétique (bis)

Une nouvelle version d’une boucle qui permet de publier un index de résultats, trié par ordre alphabétique, dans un site en charset=iso-8859-1.

Cette contribution propose une boucle qui permet de faire une page de listant vos articles par ordre alphabétique, avec un bloc par lettre.

Afin d’alléger le code que j’utilise pour mes tris alphabétiques, j’ai repris à la base ma contribution sur le tri alphabétique que j’ai panaché avec celle sur affectation automatique d’articles à une brève.

L’astuce, est de créer une série de brèves nommées A, B, C, etc. Dans le corps du texte je mets mes variantes diacritiqes et majuscules/minuscules.

Pour que cette contribution marche, il faut créer les brèves suivantes :

TITRE TEXTE
A aAæÆâÂäÄ
B bB
C cCçÇ
D dD
E eEéÉèÈêÊëË
F fF
G gG
H hH
I iIïÏîÎ
J jJ
K kK
L lL
M mM
N nNñÑ
O oOôÔöÖ
P pP
Q qQ
R rR
S sS
T tT
U uUûÛüÜ
V vV
W wW
X xX
Y yYÿ
Z zZ

Le titre des brèves sera utilisé comme titre de chaque section dans le tri des articles. Le texte contient la liste des lettres qui doivent être la première lettre du titre des articles a afficher dans cette section. Vous pouvons donc changer les sections et les tris en fonction de vos besoin en modifiant ces brèves.

Je peux mettre ma série de brèves dans une rubrique « Tris » ad hoc — ici la rubrique n° 14, si vous utilisez une autre rubrique, pensez bien à changer l’id_rubrique dans le code proposé — et leur garder un statut « brève proposée » pour que la rubrique ne s’affiche pas dans l’espace public. Cette base de brèves me permet d’appeler mon tri depuis n’importe où (rubrique, mot, article, site, etc.) et de l’utiliser plusieurs fois dans un même site.

<!-- Bloc de tri  -->
<div align="justify">

<div align="center">
		    <BOUCLE_lettre_alpha(BREVES) {id_rubrique=14} {statut=prop} {", "}>
		    <a href="#anchor-[(#TITRE)]">#TITRE</a></BOUCLE_lettre_alpha>.</div>
			<hr>
   
		<div>    <BOUCLE_titre_alpha(BREVES) {id_rubrique=14} {statut=prop} {par titre} {"<br>"}>

 <B_article_alpha><strong>[<a name="anchor-(#_titre_alpha:TITRE)"></a>]#_titre_alpha:TITRE</strong><br>
                        <div><BOUCLE_article_alpha(ARTICLES){id_rubrique=1}{titre==^[#_titre_alpha:TEXTE]} {par titre} {" -"}>
                        <a href="#URL_ARTICLE">#TITRE</a>
                        </BOUCLE_article_alpha></div>
                </B_article_alpha>
                
                			</BOUCLE_titre_alpha>
</div>

Il n’y a pas photo, pour le même résultat : un exemple visible était ici [1].

Notes

[1/ !\ attention !, ce site est depuis passé en utf-8 ce qui rend la contrib caduque. Elle ne fonctionne, en effet, qu’avec un charset iso-8859-1.

Je rappelle la remarque de la première contrib sur les tris alphabétiques :

Attention, si votre site est en utf-8, les lettres accentuées vont se placer entre le aA et le bB (sauf œ, Œ et « Y tréma » qui se placent à la suite de l’alphabet). Les majuscules puis les minuscules. Il n’est donc pas recommandé d’utiliser cette boucle sur ce paramètre sauf à supprimer les signes diacritiques en initiale. Celà ne présage pas d’autres surprises pontuelles pour les 2e-3e... lettres suivantes aussi utilisées pour le tri.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom