Tout le travail effectué jusqu’à présent à construire de quoi affiner l’interface de saisie des utilisateurs du site et à afficher les informations recueillies dans des types de contenu. Ces informations, à travers les formulaires, sont stockées dans des bases de données gérées par Drupal 8. À l’affichage, ces données sont présentées avec une structure par défaut qui correspond à l’interface de saisie. Dans bien des cas, il sera utile d’extraire certaines données et les mixer avec d’autres en provenance de formulaires différents (par exemple un carnet d’adresse d’utilisateur et les villes disponibles). Ces données peuvent alors être non seulement extraites de la base de données, mais aussi présentées de façon cohérente et spécifique à travers des URL définies.
Drupal 8 aide grandement à la réalisation de ces taches complexes grâce aux Vues (Views). Les Vues sont un outil très pratique permettant de communiquer avec la base de données pour en extraire les contenus, et spécifier comment ces données seront affichées.
La vue, comme le contenu, va au final produire une page présentée à l’utilisateur. Ce qui différencie la vue d’un type de contenu c’est la relation à la saisie des données. Dans le cas des contenus standards, l’utilisateur choisit son type de contenu, suite à quoi un formulaire lui est présenté pour l’écriture. Ces informations sont ensuite affichée conformément à ce qui est défini pour le type de contenu.
Dans le cas de la vue, il n’y aura pas de saisie. Une vue repose sur des données existantes, saisies par ailleurs dans d’autres contextes, mais qui seront présentées communément pour un besoin particulier. D’un certaine façon, il s’agit d’une sorte de tri croisé automatique.
Les vues permettent d’effectuer tellement de croisement qu’elles donnent la possibilité de faire de nombreuses actions sans pour autant avoir recours à la programmation.La création du vues se fait simplement dans la partie Structure de l’espace d’administration. Il suffira d’y créer de nouvelles vues et de définir précisément les différents champs à afficher. Commençons par un cas simple qui sera affiné.
Pour afficher ces données, nous aurons la possibilité de créer directement une page pour cette vue :
À l’enregistrement, Drupal se dirige vers une nouvelle page qui affiche de nombreux paramètres qui vont permettre de préciser un peu les choses. Cependant, il peut être intéressant de faire un premier test de vérification avant de continuer plus loin. Pour cela, il suffit de cliquer sur le bouton Retour au site, en haut à gauche de la barre d’administration.
Le tout a l’air de fonctionner :
Cette présentation n’est cependant pas satisfaisante. Autant de détails à ce niveau n’est sans doute pas nécessaire, par exemple, l’age pourrait sans doute être omis, voire, à ce niveau, la langue, et à l’inverse la ville présentée. Il sera donc nécessaire de modifier notre vue pour définir exactement l’affichage qui doit être fait.
Pour cela, il suffit d’aller dans la liste des vues et de cliquer sur Modifier pour la vue souhaitée. Cela nous affiche donc la liste des option d’Affichages suivi plus bas d’un aperçu bien pratique pour voir l’impact de nos modifications. Ce dernier ressemble évidemment au résultat de la page finale.
Nous voyons ici que nous avons accès à :
Ces critéres correspondent évidemment à ce qui a été saisi au moment de la création de la vue. Mais ici, il va être possible de tout affiner. En premier lieu, nous souhaitons ne pas afficher l’ensemble de l’accroche mais seulement le nom, la ville et éventuellement une photo.
Il ne reste alors plus qu’a définir éventuellement l’ordre des éléments. Cela se fera simplement, sur la ligne Fields, en choisissant le menu Réordonner à la place de Ajouter.
Ajouter des conditions :
- avec les critéres de tri
- avec avancé filtres contextuels
Pour views y'a pas de changement entre le 7 et 8, ça a été intégré. Avec views y'a un certain nombre de vue déjà créé avec views ex liste de tout nos contenus c une vue et on peut la modifier. Admin/content est une view
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.