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

Vus : 412
Publié par Admin-Linux : 176