Objectif
Vous désirez classer vos auteurs par ordre alphabétique, vous avez une bibliothèque et vous utilisez les mots clés pour indexer les auteurs, ce filtre est pour vous.
En effet, jusqu’à présent, pour classer des auteurs par ordre alphabétique, nous n’avions qu’un moyen. Dans les champs #NOM de la table auteur et #TITRE de la table mot clé, il fallait saisir les noms ainsi : NOM, PRENOM si on voulait ensuite les classer par ordre alphabétique. Ex la boucle
<BOUCLE_nom(AUTEURS){par nom}>
#NOM
</BOUCLE_nom>
affichait les auteurs ainsi :
Abasolo, José Javier
Abbey, Edward
Abbott, Jeff
C’était un beau classement sauf que le sens de lecture normal est prénom nom et que les internautes saisissent ainsi leur requête sur google.
Confronté à ce problème, j’ai demandé à mon prof de php, le génial CM, de m’aider à écrire une petite fonction qui permette de transformer lors de l’affichage Abbot, Jeff en Jeff Abbot.
Cette contrib comprend la fonction à copier dans votre fichier mes_fonctions.php et deux exemples de boucle.
Code à copier dans le fichier mes_fonctions.php
function swap($texte){
$pieces=explode(",",$texte);
if(count($pieces)==2){
$return=$pieces[1]." ".$pieces[0];
}
else $return=$texte;
return $return;
}
exemples de boucle
Dans le champ #NOM vous saisissez NOM, PRENOM. La virgule permettra au filtre d’inverser l’affichage du champ en PRENOM NOM
Pour trier les auteurs de votre site
<BOUCLE_nom(AUTEURS){par nom}>
[(#NOM|swap)]
</BOUCLE_nom>
Pour trier des mots clés qui seraient des auteurs de roman
<BOUCLE_mot(MOTS){id_groupe=2}{par titre}>
[(#TITRE|swap)]
</BOUCLE_mot>
Amusez-vous bien !
Discussions par date d’activité
Une discussion
Bonjour ,
Excusez moi de faire remonter ce vieux fil !
Je suis grandement intéressé par ce filtre, mais après maintes tests ça ne « swap » rien chez moi !
:-)
Est-il obsolète ?
Bien cordialement
Il fonctionne toujours.
Je l’utilise encore sur https://www.bibliosurf.com qui tourne sur SPIP 4 dernière version.
Il faut bien coller la fonction dans le fichier mes _fonctions.php et ensuite utiliser le code dans votre squelette.
Merci de votre retour,
bizarre chez moi j’ai une erreur : Filtre swap non défini
pourtant j’ai bien mis le script dans mes_fonctions.php
et j’utilise
[(#TITRE|swap)]
dans une boucle ARTICLES :Je ne comprends pas :-(
mea culpa !
j’avais 2 fichiers mes_fonctions.php
Merci encore je vais pouvoir tester cela en m’amusant , j’espère
Bien cordialement
Répondre à ce message
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 : |