Vous êtes ici

Construire des vues

Vous avez 30 secondes ?
S'abonner au flux d'actualités
Rubrique: 
Théorie
Difficultée: 
Facile
Nous avons vu ce qu'est un noeud et les champs qui le composent selon le type de contenu, nous avons également vu précédement ce que sont les régions de thème et les blocs que l'on peut leur affecter.
 
Supposons maintenant que l'on souhaite mélanger tout cela. Par exemple :
  • Récupérer les cinq derniers commentaires du site et les afficher dans un bloc que l'on nommera "What's hot here" (anglais ça le fait toujours mieux !).
  • Récupérer la liste des utilisateurs qui ont aimé l'un de vos articles dans le site et l'afficher dans un bloc sur votre profil avec pour titre "Ils nous aiment!".
  • Afficher un slideshow (des images défilant dans un bloc) sur la page d'accueil du site. Chaque image et son texte correspondant à un article de votre site.
  • Récupérer l'ensemble des emails des utilisateurs ayant validés leurs participations à un événement.
  • Afficher les événements du mois en cours dans un calendrier.
Voici autant d'exemples de visualisation possibles de votre contenu. Un mécanisme permet ceci et il se nomme Vue (Views). Il fait partie du must have des modules Drupal ! Etant d'ailleurs le module le plus utilisé dans Drupal 7, il est devenu une fonctionnalité de base dans la version Drupal 8.
Une vue vous permet de récupérer n'importe quel(s) contenu(s) ou champ(s) de votre site et de le ou les trier selon un ensemble très divers de critères. Le résultat constitue une vue qui peut se présenter sous la forme d'une page de votre site, avec une URL pour y accéder, ou d'un bloc que vous pourrez placer dans les pages et régions que vous souhaitez, comme n'importe quel autre bloc. Une vue peut être mise en page selon différents styles: une liste, un tableau, une grille, un calendrier, un slideshow, etc... Certains styles sont fournis par le mécanisme Views, d'autres par des modules complémentaires.
 
Figure 1: Example de champ d'un contenu de type article.
 
La figure 1 montre plusieurs des champs intervenant dans la création d'un article sur mon site perso : axiomcafe.fr. On y retrouve :
  • Un champ de type liste définissant la rubrique de l'article.
  • Un groupe de champs pour la création du Slideshow, contenant une image, un titre et une description.
  • Un groupe de champs pour la création de la page sommaire, contenant une liste déroulante pour choisir le type de mise en page dans la page sommaire, et une image.
Une fois ce contenu publié, il apparaît comme un article classique (pour voir le rendu, cf Pourquoi l'écartement des rails de chemin de fer est-il de 1.435m ?).
 
Les champs de cet article sont également récupérés pour créer une vue dont le style de mise en page s'appelle Slideshow (figure 2). La vue est construire via le mécanisme Views et la mise en page par le module Views Slideshow. On retrouve les champs "image du slideshow", "titre du slideshow", "texte pour le slideshow". La construction de la vue se fait ainsi:
pour chaque contenu de type Article, et ayant été publié (filtrage)
  • récupérer dans l'ordre, les champs "image du slideshow", "titre du slideshow" et "texte pour le slideshow" (construction de la vue)
  • supprimer les éventuels doublons et les résultats incomplets (autre filtrage)
  • n'afficher que cinq résultats aléatoirement choisis (autre filtrage)
  • appliquer la mise en page de style Slideshow
  • mettre le tout dans un bloc appelé Slideshow
Le fonctionnement d'un Slideshow peut être vu sur la page d'accueil de ce site.
 
Figure 2 : Vue de style Slideshow.
 
Enfin, sur la page Les "pourquoi" > Technologie, une autre vue reprend d'autres champs de notre fameux contenu pour créer un sommaire (figure 3).
 
Cette fois cela se passe comme ceci:
  • récupérer tous les contenus de type Article dont la rubrique est Boite à Pourquoi, ayant été publié et nécessitant d'être ajoutés sur le sommaire (filtrage)
  • récupérer dans l'ordre les champs: "Rubrique de contenu" et "Image du sommaire" (construction de la vue)
  • réécrire les résultats selon le style de sommaire choisi (réécriture du résultat)
  • trier les résultats par ordre décroissant de publication, le plus récent en dernier (filtrage)
  • placer le résultat dans une page à l'adresse: http://....
Figure 3 : Vue de sommaire de style Liste.
 
Le but de cet exemple simple est de vous familiariser avec le concept de vue: un assemblage de champs issus de divers contenus selon un ensemble de règles de filtrage et tri.
Soyez-en convaincu, le mécanisme des vue est extrêmement puissant !
Notation: 
Average: 5 (7 votes)
Vous avez aimé: 

Commentaires

Portrait de florence

Bonsoir, Je rencontre un problème que je n'arrive pas à résoudre sous Drupal 8 et un Slideshow construit avec Views. Il fonctionne très bien dans l'aperçu de l'outil de construction des vues, mais lorsque je l'intègre dans ma page en tant que bloc, seule la première diapo s'affiche mais l'animation ne se met pas en route et la deuxième diapo ne s'affiche pas. Je ne comprend pas d'où peut provenir mon problème. Merci d'avance de toutes les orientations de recherche que vous auriez la gentillesse de me donner pour que je trouve une solution. C'est mon premier site sous Drupal et j'ai totalement créé mon thème. Peut-être ai-je oublié de déclarer une librairie? Floretie
This post is useful!
This post is useless!
Portrait de florence

J'ai trouvé d'où venait mon problème, un fichier js déclaré dans libraries.info.yml qui génait le bon fonctionnement de views slideshow. Merci encore pour tous vos conseils, je commence à apprécier Drupal surtout grâce à vous et vos explications si claires.
This post is useful!
This post is useless!