L’article « Afficher les mots-clés en faisant varier la taille de la police » de BoOz et Fil permettait déjà d’afficher un nuage de mot-clés.
Le présent article reproduit exactement les mêmes résultats, puisqu’il s’agit de son adaptation sous forme de modèles, le tout sous forme de plugin pour faciliter l’installation.
Installation
Il contient deux fichiers html, les modèles nuage.html et nuage_popularite.html. Les fichiers php, quant à eux, définissent un filtre |nuage ou |nuage_pop. On insère aussi quelques styles css dans l’entête de la page, ce qui nécessite l’emploi de la balise #INSERT_HEAD.
Utilisation
Une fois le plugin activé, vous pouvez faire appel aux modèles selon les deux méthodes classiques :
- dans un squelette html
-
[(#MODELE{nuage})] -
[(#MODELE{nuage_popularite}{id=4})]
-
- dans un article :
-
<nuage1> -
<nuage1|popularite> -
<nuage|>(notation permettant d’afficher un nuage sans sélectionner de groupe de mots-clés)
-
La valeur passée en paramètre est facultative et correspond à l’identifiant d’un groupe de mots-clés, si on souhaite réduire le nuage à un seul groupe de mots.
De plus, [(#MODELE{nuage}{id_article=10})], ou <article10|nuage> affichent le nuage en exposant les mots-clés associés à l’article passé en paramètre.
Personnalisations
Cadeau de Noël ou Oeuf de Pâques
Pour faire une sélection de plusieurs groupes de mots-clés et générer un seul nuage, on profite du fait que le critère de sélection dans le modèle est une expression régulière. On peut alors écrire {id=4|10} pour sélectionner les mots des groupes 4 et 10. Attention, ça marche seulement pour l’appel depuis un squelette.




Plugin Nuage

Vos commentaires
# Le 11 février à 16:06, par ?
Bonjour,
pour info il y a un jquery qui pourrait faire un modèle de nuages complémentaire à ceux proposés dans ce plugin, c’est :
http://codesign.verse.jp/jquery/200...
Répondre à ce message
# Le 16 janvier à 18:09, par Laurette
J’ai bien téléchargé le plugin, que j’utilise avec Sarka. En insérant nuage1|popularite dans un article, j’obtiens bien quelque chose à la fin de chaque article. Mais je voudrais savoir :
1. Si je peux créer par la méthode habituelle un groupe de mots-clefs avec des mots-clefs pré-déterminés et ce serait ceux-là qui s’afficheraient. Et si c’est possible, quel modèle utiliser.
2. Comment faire pour que les tags s’affichent, non pas à la fin des articles mais dans la page Sommaire.
Que les chevronnés excusent ces questions très élémentaires mais quand on débute, Spip est une vraie jungle et j’ai beau chercher, pas moyen de trouver un "pas à pas" facile d’accès !
Répondre à ce message
# Le 3 janvier à 17:17, par Eric Le Meur
Bonjour,
j’avais posté une info en octobre 2009, pour dire que j’avais des problèmes d’affichage avec une version spip 2.09 et ce plugin : http://www.spip-contrib.net/Nuage-d...
Je vous informe qu’avec la version actuelle du plugin (modifiée le 28/11/2009) et spip 2.0.10 je n’ai plus de problème, et que le plugin fonctionne parfaitement.
Merci à ceux qui ont trouvé la solution !! Et bonne année !!
Répondre à ce message
# Le 7 décembre 2009 à 11:35, par Manuel
http://www.spip-contrib.net/Nuage-d...
Merci NAT33.
J’ai effectivement changer les nom de variables et cela semble fonctionner correctement.
Pour info , j’ai copié le squelette modeles/nuage.html dans mon dossier de squelettes et remplacé :
id_groupe==^((#ENV id ,.* ))$ id_groupe !==^((#ENV notid ,-1 ))$
par
id_groupe==^((#ENV idgroupe ,.* ))$ id_groupe !==^((#ENV notidgroupe ,-1 ))$
++
Répondre à ce message
# Le 24 novembre 2009 à 15:49, par kris
Oups, je me réponds à moi-même...
Les mots du groupe Glossaire n’étaient affectés à aucun article et ne servaient qu’a créer le glossaire, et donc ne s’affichaient pas... tout simplement :)
Répondre à ce message
# Le 24 novembre 2009 à 15:39, par kris
Bonjour,
J’ai un soucis de compatibilité entre une lame du couteau suisse, le glossaire, et le plugin nuage...
Lorsque je demande l’affichage du groupe de mots clés Glossaire (
[(#MODELE{nuage}{id=3})]), il ne s’affiche pas :-/Par contre, ça marche nikel avec n’importe quel autre groupe de mots...
Une idée d’ou ça peut venir ?
Merci
Config :
SPIP 2.0.10 [14698]
Le Couteau Suisse version 1.8.09.14
Nuage version 1.4 [31399] — en test
Répondre à ce message
# Le 15 octobre 2009 à 13:54, par elm31rugby
Bonjour,
j’ai utilisé ce plugin sous spip 1.9.2, parfait. Je suis passé sous spip 2.0, et là, surprise : le plugin fonctionne sur ma page sommaire.html, mais pas sur les pages rubriques. (avec spip 2.0.9) J’ai pensé qu’il s’agissait d’un problème lié à la mise à jour.
J’ai donc pris un autre site nativement installé en spip 2.0 (exactement 2.0.5) et même résultat : le nuage de mots s’affiche sur la page d’accueil, mais pas dans les rubriques.
Je suis en développement local sous Easyphp 1.8
Je n’ai rien trouvé dans les forums. Quelqu’un aurait une idée ?
Merci,
Eric
# Le 20 octobre 2009 à 20:31, par ?
même problème : fonctionne sur la page sommaire et une curiosité qui permettra peut-être de trouver la solution : fonctionne sur la rubrique1 et les articles de cette rubrique.
Que devons-nous ajouter au code pour qu’il fonctionne sur toutes les rubriques et sur tous les articles ?
Marie-Anne
# Le 19 novembre 2009 à 16:33, par nat33
Bonjour,
je suis confrontée à la meme anomalie.
le nuage s’affiche correctement sur la page d’accueil.
mais sur la rubrique 1 il affiche les mots clé du groupe de mot 1, su rla rubrique 2, il affiche les mots clés correspondant à l’id_groupe 2 etc...
Est-ce que cela ne viendrait pas du fait que le paramètre est du type id=1 et que du coup l’imprécision est source de confusion dans les résultats affichés... à part ça je n’ai pas su déchiffrer le code...
Je précise que j’ai cette anomalie sans passer de paramètre.
c’est vraiment nébuleux ce truc... ;p
Nat33
Répondre à ce message
# Le 9 novembre 2009 à 10:28, par ?
Bonjour,
Je teste actuellement ce plugin sur un site développé sous spip 1.9.2, et j’obtiens une erreur lors du passage en nuage de popularité, erreur que je n’ai pas en utilisant le nuage ’normal’, mais qui ne m’offre pas le résultat escompté.
L’erreur obtenue :
* Erreur : filtre « push » non défini, _expose
code sans erreur :
code générant l’erreur :
Quelqu’un peut-il me mettre sur la piste ?
D’autre part, je cherche à récupérer les id des mots clés présentés pour les reprendre dans les liens affichés sous la forme id="def_#ID_MOT", car je souhaite afficher la description des mots clés dans un petit pop-up css.
Là encore, quelqu’un aura-t-il la bonté de bien vouloir m’aiguiller : j’ai bien vu les fichiers et fonctions à modifier, mais n’étant pas développeur... ;)
Merci d’avance,
Raphaël
# Le 9 novembre 2009 à 10:42, par ?
Complément : si le fichier nuage_popularite.html fait bien mention du filtre "push", il n’apparait nulle part ailleurs, la seule fonction php s’y apparentant se trouvant dans le fichier 193_fonctions.php sous la forme de " function filtre_push " :
function filtre_push($array, $val)
if($array == ’’ OR !array_push($array, $val)) return ’’ ;
return $array ;
Répondre à ce message
# Le 6 avril 2009 à 16:47, par Tom
Bonjour,
J’utilise ce plugin avec le model ’nuage_popularite’ afin d’afficher des mots clefs contenu dans un groupe de mot clé défini.
Chaque mot clef de ce groupe est relié à un unique article.
Comment faire pour que les mots du nuage pointent vers l’article auxquels il est associé ?
Merci.
# Le 4 septembre 2009 à 23:18, par rzawutang44
a mon avis meme avec 2 boucles imbriques (MOTS puis ARTICLES) t’es coince a chaque fois
exemple 1 :
<BOUCLE_liste_les_mots_cles» (MOTS) { ××× } ><BOUCLE_art(ARTICLE) { id_mot } { ××× }>
<a href=#URL_ARTICLE>#TITRE</a>
</BOUCLE_...>
</BOUCLE_...>
sauf que la le TITRE ca sera le titre de l’article et pas celui du mot cle donc probleme. Donc l’idee serait de placer le lien entre les 2 boucles pour que #TITRE fasse bien reference au mot cle mais on arrive sur un autre probleme, ci-dessous :
exemple 2 :
<BOUCLE_motscles (MOTS) { ××× } ><a href=?????>#TITRE</a>
<BOUCLE_articles (ARTICLE) { id_mot } { ××× }>
xxxxxxxxxxxxx
</BOUCLE_...>
</BOUCLE_...>
Les ???? veulent dire que tu veux une URL d’article mais que la boucle est juste en dessous donc pas possible non +.
Ton probleme doit bien avoir une solution que je ne connais vraisemblablement pas. Le soucis est que tu cherhe a faire pointer un mot cles vers une URL d’article. T’as pt etrer une solution + simple , a mon avis, pt etre sans mots cles....
Répondre à ce message
# Le 25 juin 2009 à 01:38, par magik_cypress
Dernière petite retouche et j’arrête de flooder ce forum (fallait pas me lancer ;)
Si vous souhaitez que les mots soit de taille différente dans votre nuage modifier la ligne 30 du fichier nuage_fonctions.php
Remplacer
'class' => $s,par
'class' => $id,Ce qui donne dans le code de vos pages ceci :
<a rel="tag" href="spip.php?mot15
" class="nuage15">Handicap</a>
<span class="frequence"> (19/19)</span>
</li>
Ensuite, il faut jouer avec la feuille de style nuage.css
# Le 4 septembre 2009 à 22:38, par rzawutang44
Salut
Super plugin mais j’ai le soucis suivant :
Ne fonctionne pas avec spip 2.0.9
Cache vidé, fichier php modifié ( $id ou lieu de $s ), tailles en "em" dans le fichier " nuage.css " modifiées ( nuage0,... nuage10 ) mais les styles restent inchangés lorsque je recharge la page du site.
J’appelle le nuage dans mon squelette sommaire.html de cette facon :
[(#MODELE{nuage_popularite}{id=2})]puisque seul le groupe (de mots cles) numéro 2 m’intéresse.
Dans le code source j’ai toujours (je copie juste pour un seul mot clé) :
<li><a rel="tag" href="spip.php?mot6">
<font size="15">PAT2</font>
</a>
<span class="frequence">(20/20)</span>
</li>
On retrouve cette ligne de code
<font size="15">PAT2</font>Le seul fichier du plugin nuage qui utilise la balise < font > est le fichier foreach_nuage_pop.html.
La ligne correspondante est
<font size="[(#ENV{taille}|sinon{0})]">#ENV{cle}</font>Donc ca vient d’ici ? Je dois changer cette ligne de code par quoi ?
Merci
Répondre à ce message