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.
Important : il faut que les statistiques de SPIP soient activées pour que le plugin fonctionne
Contenu du plugin
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}{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.
A l’inverse on peut exclure certains groupes de mots clés en utilisant le critère de sélection notid. Celui-ci fonctionnant également selon une expression régulière, la syntaxe permettant de ne pas prendre en compte les groupes 5 et 11 est donc de la forme : {notid=5|11}
Discussions par date d’activité
131 discussions
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
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
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
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
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
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
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
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.
a mon avis meme avec 2 boucles imbriques (MOTS puis ARTICLES) t’es coince a chaque fois
exemple 1 :
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 :
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
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
par
Ce qui donne dans le code de vos pages ceci :
Ensuite, il faut jouer avec la feuille de style nuage.css
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 :
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é) :
On retrouve cette ligne de code
Le seul fichier du plugin nuage qui utilise la balise < font > est le fichier foreach_nuage_pop.html.
La ligne correspondante est
Donc ca vient d’ici ? Je dois changer cette ligne de code par quoi ?
Merci
Répondre à ce message
Merci d’ignorer le message précédent. J’ai trouvé la solution : le modèle se trouvait dans le contexte d’une boucle (SITES). En la retirant, ça marche.
Répondre à ce message
J’utilise le nuage, qui fonctionne bien. Mais, très curieusement, l’appel au modèle ne fonctionne que sur la page d’accueil du site. Si je place l’appel dans une page secondaire du site ou dans un squelette inclus, il ne renvoie plus rien. Une idée ?
Répondre à ce message
Salut à tous
Je suis sous SPIP 2.0.3, et le plugin marche très bien.
J’ai juste une requête, j’aimerais qu’il y ait un tiret entre chaque mot-clé, histoire que ça rend le tout plus aéré.
Seulement, je n’ai pas trouvé comment faire...Quelqu’un peut me donner une piste ? D’avance merci !
Répondre à ce message
Bonjour
J’ai fais un commit hier pour rajouter deux modeles [(#MODELEnuage_site)] et [(#MODELEnuage_pop_site)] mais à quoi servent-ils ? En fait si vous attribuer des mots clefs à un sites et bien vous pouvez désormais faire votre nuage avec.
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 : |