Views Cloud : Nuage de tags de terme de taxonomie sous Drupal par type de contenu

Views Cloud est un module drupal qui permet de générer un nuage de tag à partir d’une vue du module Views

Cela permet donc de créer des nuages de tags à partir de n’importe quelle données récupérée par Views.

Vous pouvez par exemple créer un nuage de tag des utilisateurs pondérés selon leur age, ou encore un nuage de tags contenant le titre de noeud pondérés en fonction du nombre de lectures.

Le module fournit un style de vue « Cloud » pour la sortie standard, et un style sommaire pour le contenu filtré via le nuage de tags.

Vous pouvez également générer un nuage de tags à partir de terme de Taxonomie pour un type de contenu donné et c’est ce que nous allons voir ici, qui est l’utilisation de Views_Cloud la plus courante.

Pour illustrer la mise en place, voici un petit cas pratique.

Imaginons un site internet de recettes de cuisine qui a 2 types de contenu, « Recette rapide » et « Recette gastronomique ».

Ce site a un vocabulaire nommé « Epices » qui est utilisé pour les 2 types de contenu cité ci-dessus.

Vous souhaitez faire un nuage de tags des différents épices pour un type de contenu donné.

Views_cloud va vous permettre de n’afficher et de pondérer les tags que pour ce type de contenu.

Et mieux, il va vous créer une page « sommaire » regroupant tous les nœuds (type de contenu) contenant le tag choisi

Imaginons que le tags curry du vocabulaire « Epices » soit utilisé 15 fois avec le type de contenu « Recette gastronomique » et 2 fois avec le type de contenu « Recette rapide ».

La pondération des tags dans le nuage de tags ne sera pas du tout la même pour ce terme si vous ne filtrez pas le type de contenu.

Et si il n’y avait pas de page de sommaire comme le permet de faire Views_cloud, en cliquant sur le tags « curry », vous iriez sur une page contenant tous les nœuds contenant le tag, ce que vous ne souhaitez pas.

J’espère que l’explication de mon cas pratique, vous aura fait permis de comprendre la problématique que je souhaite résoudre avec Views_cloud…

Voici donc comment mettre en place un nuage de tags pondéré et filtré par type de contenu.

Tout d’abord, installons le module Views_cloud :

  1. Copiez le répertoire views_cloud dans votre répertoire de modules (sites/all/modules)
  2. Activez celui via la page /admin/build/modules
  3. Configurez une vue pour utiliser Views_Cloud. À noter que Views_Cloud fournit par défaut deux vues afin d’illustrer les possibilités, celles-ci sont désactivées par défaut. Mais ça pourrait vous aider à démarrer avec ce module.
  • cloud_tags : Un nuage de tags classique
  • cloud_user_posts : Un nuage de tags des utilisateurs pondérés par leur nombre de posts.

Passons maintenant à la configuration de notre nuage de tags pour notre cas pratique.

  1. Créez une nouvelle vue via la page admin/build/views et donnez lui un nom comme par exemple « viewscloud_epices »
  2. Ajoutez un champ en cliquant sur l’icone « + » (plus) dans la section Champs. A savoir que ce champ ne fait pas parti du nuage de tags, mais de la page qui sera utilisée pour le sommaine. Vous pouvez choisir d’utiliser le style de vue « Nœud » plutôt que « Champs ». C’est d’ailleurs, ce que je vais faire.
  3. Si vous choisissez d’afficher directement les nœuds entier, faites donc ceci, sinon passez à l’étape 4.  Allez dans la section, « Paramètres de base » et éditez le style de ligne et choisissez « Node »
  4. Ajoutez ensuite un argument en cliquant sur l’icone « + » (plus) dans la section « Arguments ». Ajoutez l’argument « Taxonomy: Term ID » ou « Taxonomy: Term » personnellement, j’ai choisi Term, car l’argument est repris dans l’url, donc c’est mieux pour le référencement d’avoir un mot, plutôt qu’un nombre . En titre, vous pouvez mettre par exemple « Epices : %1 » %1 sera le nom du tag sur lequel l’utilisateur aura cliqué. Concernant l’action à prendre si non présent, choisissez « Sommaire, classement descendant » permettant d’avoir les nœuds les plus récents en premier, je crois que c’est trier en fonction de l’id du noeud, donc pas forcément le plus récent si mise à jour du nœud.  Cochez la case « Dans les URL, transforme les espaces en tirets ». Après avoir sauvegardé votre argument, vous serez invité à choisir le style et choisissez « Cloud ».
  5. Ajoutez ensuite un filtre en cliquant sur l’icone « + » (plus) dans la section « Filtres ». Ajoutez un filtre « Taxonomy: Vocabulary » et choisissez le vocabulaire de votre choix, dans mon exemple il s’appelle « Epices » et indiquant « Fait partie de ».
  6. J’ai choisi de n’afficher que les nœuds publiés, pour cela ajoutez un filtre du groupe « Node » et choisissez le statut publié.
  7. J’ai choisi également de filtrer par type de contenu comme expliqué plus haut. Pour cela, ajoutez un filtre du groupe « Node » et choisissez le type de contenu de votre choix, dans mon exemple « Recette rapide »
  8. Ajoutez un nouvel affichage de type « Page ». Donnez lui un chemin qui sera celui utilisé pour le sommaire, par exemple « tag/epices ». Vous aurez des urls de type /tag/epices/curry et cette page listera tous le contenu de type « Recette rapide » contenant le terme de taxonomie « curry »
  9. Au point 4, je vous ai parlé du tri des nœuds dans la page de sommaire, pour cela rajouter un critère de tri, personnellement, je l’ai supplanter, je ne sais pas comment ça réagit si on met à jour la vue par défaut. Ajoutez un critère de tri de type Node et choisir « date de mise  jour » et triez de manière descendante.
  10. Ajoutez un nouvel affichage de type « Bloc ». Et donnez lui un titre, par exemple « Nuage d’épices » qui sera le titre du bloc contenant votre nuage de tags.
  11. Sauvegardez votre vue
  12. Activez ce bloc dans votre gestion des blocs sur la page admin/build/block

Et voilà vous avez désormais votre nuage de tags pour les épices du type de contenu « Recette rapide » renvoyant exclusivement sur une liste de nœuds du même type de contenu.

A noter que lorsque vous prévisualiserez votre nuage de tags pendant la création de votre vue, celui-ci ne sera pas mis en forme, vous ne verrez donc pas là pondération des tags. Les CSS du module Views_Cloud ne peuvent être chargé sur cette page

Author: Pierre-Yves Dubreucq

Passioné par les logiciels libres depuis 2001, je suis VP Bare Metal (Dedibox) chez Scaleway. Je tiens ce blog depuis 13 ans avec beaucoup moins d'assiduité malheureusement qu'à ses débuts, mais bon, le temps est une denrée rare.

Share This Post On

2 Comments

  1. Pierre Yves tu gère !!! Je connaissais Tagadelic et un autre module dont j’ai oublié le nom pour afficher un block de nuage de taxo… mais celui-ci me semble plus « sympa/configurable »… je m’en vais test de ce pas !

    Post a Reply
  2. Merci bien 😉
    Je ne l’ai pas découvert tout seul, c’est Marie-Héléne de Drupalistic qui me l’a conseillé sur les forums de drupalfr.org 😉
    Car au début, j’utilisais aussi Tagadeclic et du coup, j’avais fait 2 vocabulaires avec les mêmes termes pointant sur 2 types de contenus, pour n’avoir les noeuds que d’un type de contenu lorsque je cliquais sur un tag…
    Ce qui me posais un problème de synchronisation, car les utilisateurs peuvent ajouter des termes de taxonomies 😉
    Enfin, bref, je pense que c’est un module tout à fait intéressant, aux multiples possibilités 😉

    Post a Reply

Submit a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *