SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 29 visiteurs en ce moment

Accueil du site > Navigation > Tris Alphabétiques > Archives Tris Alphabétiques > VarianteContribCreer-un-index-classement

VarianteContribCreer-un-index-classement

22 février 2007

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Variante n°1 | Variante n°2

Variante n°1 de « Créer un index : classement alphabétique de mots-clés (articles, etc.) » à partir de Spip 1.8

Avec le filtre |unique de Spip 1.8, on pourrait théoriquement créer un index avec une seule boucle :

Le filtre |substr{0,1} correspond à une fonction php qui retourne 1 caractère à partir du caractère 0 de la chaîne #TITRE, soit la première lettre du titre. Le filtre |unique fait que cette lettre ne s’affiche qu’une fois, elle n’est donc pas répétée pour les autres mots commençant par la même lettre.

[Erreur...7]Dans mes_fonctions.php3

Dans mon squelette :

Et pour faire plus joli, on ajoute le menu alphabétique et les ancres nommées...

[Erreur...15]Il faut sans doute investiguer un peu plus loin le remplacement des caractères accentués, mais je n’y connais rien... Ça marche en tout cas sur mon site qui utilise le jeu de caractères iso-8859-1 (voir Configuration > Gestion des langues), mais je ne sais pas ce que ça donnerait dans un site en uft-8 par exemple.

[Erreur...17]Ok, bon. Alors voici une autre solution, mais en php... Aurélie (21/02/2007)


Variante n°2 de « Créer un index : classement alphabétique de mots-clés (articles, etc.) » avec du php

Cette variante a été testée avec un Spip 1.9.1 qui utilise le codage de caractères UTF-8.

Le php permet de contourner un problème assez insoluble : j’ai beau m’escrimer à nettoyer les premières lettres de chaque mot du glossaire pour que les a, à, ä, á aillent ensemble, reste que le tri des mots se fait dans la boucle elle-même. Or Spip (ou MySQL ?) ne le fais pas (encore ?) tout à fait bien (cf. explication de Claude ci-dessus).

D’abord le nettoyage :

[Erreur...25][Erreur...26]Puis la question du tri :

Dans le squelette où doit apparaître le glossaire :

Explications (je n’explique pas l’html) :

[Erreur...32]Pour chaque mot retourné par la boucle, on va créer une ligne du tableau :

$glossaire[$lettre1][$mot] = "<dt><a href=\"#index\">[(#TITRE|supprimer_numero|texte_script)]:</a></dt><dd>[(#DESCRIPTIF|sinon{#TEXTE}|texte_script)]&nbsp;</dd>";

[Erreur...35]Chaque enregistrement donne donc quelque chose comme ça : $glossaire[T][Titre] = "<dt><a href=\"#index\">Titre:</a></dt><dd>Descriptif&nbsp;</dd>";

[Erreur...37]Au sortir de la boucle, on trie notre tableau $glossaire : "ksort() trie le tableau suivant les clés [chez nous : A, B, C...], en maintenant la correspondance entre les clés et les valeurs".

[Erreur...39][Erreur...40]N’hésitez pas à raconter vos tests et améliorations ci-dessous.


J’ai mis une contrib qui fait un index alphabétique avec #ARRAY Tri alphabétique tout en SPIP 2 boucles simples et des fonctions reprises d"’ici même

ça marche bien en spip 1.9.2+
echo

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)