Des mots-clés affichés plus gros selon leur importance

13 novembre 2005,
par Romy Têtue

Mots-clefs associés à cet article :

Je souhaite afficher un paquet de mots-clés, ceux-ci devant être plus ou moins gros en fonction de leur importance.

Pour les besoins d’un site nécessitant une navigation transversale par thèmes, je décide d’utiliser amplement les mots-clés de SPIP. Je souhaite afficher un nuage de mots (tagcloud), ceux-ci devant être plus ou moins gros en fonction de leur importance (exemple ci-contre).

Un mot-clé important est un mot souvent utilisé, c’est-à-dire lié à plusieurs articles. Il est logique d’utiliser la balise #TOTAL_BOUCLE qui sert précisément à compter le nombre total de résultats affichés par une boucle (expliquée à cette page du site SPIP : La syntaxe des boucles).
L’idée est donc de compter le nombre d’articles pour chaque mot-clé. Le nombre total d’articles, plus ou moins important, servira à varier la taille de police du mot, plus ou moins grosse.

Je construis donc une boucle permettant d’afficher les mot-clès, de la façon la plus ordinaire. Puis j’encadre chaque mot (#TITRE) d’une balise span permettant de styler ledit mot, avec la propriété CSS font-size, qui fixe la taille de police.

Voici enfin le code à inclure dans le squelette (ceci ne peut se faire que directement dans le squelette, et non pas dans la feuille de style externe, puisqu’on utilise une boucle pour calculer la taille de police) :

<!-- Menu de navigation mots-cles -->
<B_mots>
<div class="menu">
        <h2><:mots_clefs:></h2>
        
        <BOUCLE_mots(MOTS){par titre}>
        
        <span <BOUCLE_articles(ARTICLES){id_mot}> </BOUCLE_articles>style="[font-size: (#TOTAL_BOUCLE)px;]"</B_articles>style="display: none;"<//B_articles>>
          <a href="#URL_MOT"[ title="(#DESCRIPTIF|textebrut|attribut_html)"][ class="(#EXPOSER)"]>#TITRE</a>
        </span>
        
        </BOUCLE_mots>

</div>
</B_mots>

Remarques

  • Cette boucle n’affiche pas les mots-clés non attribués et permet d’exposer le mot-clé sélectionné.
  • Selon le besoin, on choisira une autre unité (em ou %) de taille de police.
  • Cette boucle ne convient pas à tous les usages, en particulier aux cas où les mot-clés sont très inégalement répartis : lorsqu’on a des mots dont le nombre d’articles associés varie par exemple entre 1 et 200, il est difficile d’obtenir une représentation satisfaisante.
  • On peut aussi préférer un autre critère d’importance. Par exemple, la taille des thèmes de rezo.net est fonction des articles référencés et de leur popularité, c’est-à-dire selon leur fréquentation par les visiteurs du portail.
{#TITRE,#URL_ARTICLE,#INTRODUCTION}

Vos commentaires

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
  • Raccourcis : {{gras}} {italique} -liste [bla->url] <q> <quote> <code>.

Suivre les commentaires : RSS 2.0 | Atom