La balise #POPULARITE qui indique la popularité d’un article, est calculée automatiquement par SPIP ; il s’agit d’un pourcentage, et son affichage standard dans une boucle se fait sous forme de texte.
Le filtre jauge permet de créer une petite barre graphique de longueur proportionnelle à la valeur du résultat. Celà donne un rendu visuel plus parlant, voire plus esthétique.
Voici concrètement un type d’utilisation de ce filtre :
Utilisation
Synopsis :
[(#BALISE|jauge{arg})]
Le filtre prend un argument qui correspond à la couleur désirée de la barre. Trois couleurs sont livrées pour coller au mieux à votre charte graphique : « rouge », « vert », « orange ». La couleur par défaut est orange.
Le filtre s’applique donc ainsi :
#POPULARITE|jauge // Applique la jauge par défaut (orange)
#POPULARITE|jauge{orange} // applique la jauge orange
#POPULARITE|jauge{vert} // Applique la jauge verte
Installation
- Copiez le code ci-dessous dans votre fichier mes_fonctions.php3 ;
- Créez un répertoire /IMG2/ [1] à la racine de votre site SPIP ;
- Copiez les images contenues dans le fichier zip attaché dans le répertoire IMG2.
Code à recopier :
/*
* +-------------------------------------------------+
* Nom du Filtre : jauge
* +-------------------------------------------------+
* Date : 1er janvier 2004
* Auteur : Bastian (seb at planetenice.com)
* +-------------------------------------------------+
* Fonctions de ce filtre :
* Permet de créer une petite barre graphique de
* longueur proportionnelle à la valeur du résultat.
*
* Exemple :
* [Popularité : (#POPULARITE|jauge{rouge})<br>]
* +-------------------------------------------------+
*
* Pour toute suggestion, remarque, proposition d'ajout
* reportez-vous au forum de l'article :
* http://www.uzine.net/spip_contrib/article.php3?id_article=xxx
*/
function jauge ($popularite, $couleur='orange') {
$texte = "";
if ($popularite > 0) {
$texte = "<img src='./IMG2/barre_${couleur}_gauche.gif' border='0' width='2' height='8' align='middle' alt=''><img src='./IMG2/barre_${couleur}.gif' border='0' width='$popularite' height='8' align='middle' alt=''><img src='./IMG2/barre_${couleur}_droite.gif' border='0' width='2' height='8' align='middle' alt=''>";
}
return $texte;
}
Exemple de boucle
Afficher du plus récent au plus ancien les 10 derniers articles, avec leur popularité (texte et barre) :
<BOUCLE_articles(ARTICLES){0,10}{par date}{inverse}>
[<a href="#URL_ARTICLE">(#TITRE)</a><br>]
<small>Popularité :<b>(#POPULARITE)%</b></small><br>]
[(#POPULARITE|jauge{rouge})<br>]
</BOUCLE_articles>
Discussions par date d’activité
6 discussions
salut
je suis débutant avec spip. j’ai copié le texte dans mes-fonctions, mais comment afficher la barre dans tous mes articles ? ou dois-je insérer la boucle ?
merci
Répondre à ce message
J’utilise cette contribution sur l’ensemble des pages avec la boucle popularité pour l’ensemble du site.
merci encore cordiales salutations
jean-noël
Répondre à ce message
Cela fonctionne très bien !
Dans la boucle en exemple, il manque juste un ’[’ avant ’small’
Sinon, c’est parfait !
Répondre à ce message
Ca marche très bien, bravo et merci !
Je viens de découvrir SPIP et je suis ébahi par la puissance et la simplicité de ce système.
Un grand bravo à tous pour la disponibilité et l’inventivité.
Pas si beotien que ça AMHA :)
Bricoleur on va dire. :)
Répondre à ce message
ça marche pour moi aussi, j’en suis très content. Merci pour cette contrib !
Une question : comment faire pour réinitialiser les pourcentages - et donc la jauge ?
D’avance merci à celui (ou celle) qui voudra bien éclairer mon chemin...
Répondre à ce message
J’ai bien mis la fonction dans mon fichier mes_fonctions.php3, mais voilà, il me dit que la fonction n’existe pas... J’ai recopié les images dans le dossier /IMG2/ comme indiqué..
http://www.clampin.com/test.php3
J’ai peut être fait une erreur quelque part... :(
La page que tu mets en lien a un drôle de squelette...
Visiblement ya un souci, bien avant le filtre (qui d’ailleurs n’est pas appelé).
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 : |