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 :
En revanche pour tous les articles visités, la barre s’affiche, proportionnellement à la valeur de la balise.
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 verteInstallation
- 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 by date of activity
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
Reply to this 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
Reply to this message
Cela fonctionne très bien!
Dans la boucle en exemple, il manque juste un ’[’ avant ’small’
Sinon, c’est parfait!
Reply to this 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. :)
Reply to this 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...
Reply to this 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é).
Reply to this message
Add a comment
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.
Follow the comments:
|
