Le manuel de Views

Ceci sera l’emplacement des différentes page du manuel de views.

Le travail de traduction est en cours de relecture et nous sommes actuellement en train de transférer progressivement le contenu sur Drupalfr.

Ce travail est un livrable du groupe Documentation - Traduction. Merci à tous.

Pour commencer

Le module "Views" peut paraître complexe quand on le découvre. La bonne nouvelle, c'est que l'interface utilisateur sépare les différentes fonctionnalités. Cela signifie que généralement, nous pouvons ignorer toutes les fonctions dont nous n'avons pas besoin. Le secret de la réussite : commencer par des exemples simples, puis compliquer petit à petit.

A cause de la quantité de paramètres proposés, l'interface de création d'une vue peut paraître déconcertante au premier abord, mais en fait, il y a peu de choses à retenir. Le meilleur conseil : Partez en exploration!

L'image ci-dessous, représente l'interface utilisateur du module Views, avec ses nombreux paramètres.

Interface utilisateur - Edition d'une vue

Remarques:
1) Chaque vue est composée de plusieurs "affichages", chacun indiquant l'endroit où la vue s'affichera. Avec Views 1, vous pouviez configurer une vue pour apparaître sous forme d'une 'page' avec son url (chemin), ou sous la forme d'un bloc affiché dans une région de votre thème. Avec Views 2, vous pouvez créer autant d'affichages que vous voulez. L'affichage par défaut est particulier car il contient le paramètrage de base, mais il n'apparait nulle part.

2) Lorsqu'on clique sur un élément de l'interface, un nouveau formulaire s'ouvre. Pour les plus petites résolutions d'écran, vous devrez peut-être faire défiler votre fenêtre vers le bas pour voir le formulaire. Lorsque qu'un formulaire est affiché, le paramètre édité apparait en surbrillance.

3) Dans un affichage autre que l'affichage par défaut, un changement peut intervenir de deux façons différentes: soit la modification touche tous les affichages de la vue, soit elle ne touche que l'affichage sélectionné.

Lorsque vous créez un nouvel affichage, il commence par hériter de tous les paramètres de l'affichage par défaut. "Supplanter" un paramètre indique que sa mise à jour ne concerne que l'affichage sélectionné. L'interface vous l'indique en mettant les éléments en italique et en couleur plus claire. Si vous changez ces valeurs sans supplanter l'affichage, en "Utilisant la valeur par défaut", vous modifiez cette valeur dans l'affichage sélectionné, dans l'affichage par défaut ainsi que dans tous les affichages qui lui sont liés (non surchargés).

Par exemple, si vous ajoutez un filtre "Node: publié" et que vous le régler sur "oui" dans les paramètres de l'affichage de base (pour récupérer les nodes publiés), vous pourriez dans un autre affichage choisir d'afficher aussi les noeuds non publiés. Pour cela vous sélectionnez "Filtres" dans l'affichage concerné et vous cliquez sur "Supplanter". Vous pouvez désormais ôter le filtre "publié" pour cet affichage, sans affecter les paramètres de l'affichage de base ou les autres affichages non surchargés.

4) Certains éléments ont des paramètres additionnels (particulièrement les éléments de style). Normalement, quand on modifie un style qui a des paramètres supplémentaires, un 2ème formulaire apparaît automatiquement.

5) Vous pouvez quitter l'édition d'une vue en toute sécurité pour faire autre chose. Quand vous revenez dans la vue, elle est toujours présente, sauvegardée dans le cache. Sachez cependant, que dans ce cas la vue sera bloquée, ce qui signifie qu'un autre utilisateur ne pourra pas éditer cette vue sans la déverrouiller. S'il débloque la vue, vos dernières modifications sont alors perdues.

Mieux vaut avoir un plan précis pour se former à l'utilisation du module Views. Voici quelques possibilités.

Fichier attachéTaille
overview-ui-small.png43.84 Ko
overview-ui-large.png81.86 Ko

Exercice : créer un bloc qui liste les articles

Dans cet exemple, nous allons afficher dans un bloc la liste des noeuds qui sont du type «article». Avec cet exercice, vous allez apprendre, pas à pas, les bases pour créer une vue et ainsi vous familiariser avec l’interface utilisateur du module Views.

  1. Créer une nouvelle vue

    Allez à Ajoutez une vue. Donnez à votre nouvelle vue le nom ‘articles_recents’, la description ‘Articles récents’, l’étiquette ‘article’, le type ‘Node’ et cliquez sur Suivant.

  2. A propos de l’Interface

    Vous voilà maintenant dans l’Interface Utilisateur du module Views. Au démarrage, vous éditez les paramètres par défaut. Mais vous pouvez créer d’autres affichages. Dans la colonne la plus à gauche, vous voyez qu’en plus de l’affichage par défaut, vous pouvez choisir divers types d’affichage dans la liste déroulante comme par exemple le type ‘bloc’ qui vous permet de sélectionner des paramètres spécifiques pour afficher cette vue dans un bloc. Dans les autres colonnes, vous pouvez ajouter ou modifier des paramètres en cliquant sur des liens ou sur des icônes. Ces options apparaitront en détail sous la zone principale et peut-être vous devrez faire défiler votre page pour les voir. Les options modifiées apparaissent en gras jusqu’à ce que la vue soit enregistrée.

  3. Sélectionnez les champs

    1. Dans la 3ème colonne, recherchez les options relatives aux Champs . Cliquez sur l’icône + pour ajouter des champs.
    2. Ensuite, dans la zone Paramètres par défaut : Ajouter des champs, sélectionnez «Node» dans la liste déroulante Groupes, puis cochez les champs suivants : Node : Date de publication , Node : Titre et cliquez sur Ajouter.
    3. Après la sélection, chaque champ peut être configuré de manière individuelle. Appliquez les modifications indiquées ci-dessous :
      • Pour le champ Date de publication : Supprimez le texte «Date de publication» dans l’étiquette. Pour le format de date sélectionnez Personnalisé, et dans le champ Format de date personnalisé indiquez «j F Y, G:i» (ne pas saisir les guillemets) ; Pour modifier le format de la date, consultez la Documentation PHP. Ensuite cliquez sur le bouton Mise à jour.
      • Pour le champ Titre : Supprimez le texte «Titre» dans l’étiquette. Sélectionnez Lier ce champ à son noeud puis cliquez sur le bouton Mise à jour.
    4. Dans la zone Champs cliquez maintenant sur l’icône ↑↓ pour réordonner les champs.
    5. A l’aide de la flèche directionnelle, déplacez Node : Titre pour que ce champ apparaisse au dessus du champ Node : Date de publication. Cliquez sur le bouton Mise à jour pour sauvegarder le nouvel ordre.
  4. Restreindre l’affichage aux noeuds de type Article

    1. Cliquez sur l’icône + à droite de Filtres.
    2. Dans la zone de configuration, sélectionnez «Node» dans la liste des Groupes, puis cochez les filtres Node : Publié et Node : Type, puis cliquez sur Ajouter.
    3. Sélectionnez le bouton radio Publié : oui et cliquez sur Mise à jour
    4. Sélectionnez Fait partie de et cochez Article dans la liste Type de noeud. Cliquez sur Mise à jour.
  5. Trier pour obtenir les articles les plus récents en premier

    1. Au niveau des Critères de tri cliquez sur l’icône +.
    2. Dans la liste déroulante intitulée Groupes, sélectionnez «Node», puis cochez Node : Date de publication, et cliquez sur Ajouter. A la place, vous pouvez cocher Node : Heure du dernier commentaire , ou Node : Date de mise à jour/commentaire , ou Node : Date de mise à jour pour trier via d’autres critères.
    3. Sélectionnez ordre de tri Descendant . Cliquez sur Mise à jour.
  6. Affiner les paramètres de base

    • Dans la 2ème colonne, au niveau de la section Paramètres de base, recherchez les paramètres suivants :
      • Éléments à afficher, cliquez sur 10. Remplacez par la valeur 4. Cliquez sur Mise à jour
      • Style, cliquez sur Non mis en forme. Choisissez Html List. Cliquez sur Mise à jour une première fois, puis une 2ème fois pour accepter les valeurs générées par défaut.
  7. Ajouter un affichage ‘bloc’ pour personnaliser les réglages

    1. Dans la colonne de gauche, sélectionnez Bloc puis cliquez sur le bouton Nouvel affichage pour créer un bloc réutilisable.
    2. En bas de la 2ème colonne, dans la section Paramètres des blocs, cliquez sur le lien Aucun à droite du paramètre Admin. Dans le champ intitulé Bloc : Description pour l’administration des blocs, indiquez «Articles récents», puis cliquez sur Mise à jour.
  8. Sauvegarder la vue

    Cliquez sur le bouton Enregistrer pour enregistrer votre travail.

  9. Indiquer à Drupal d’afficher le bloc créé

    Finalement, vous devez indiquer à Drupal qu’il doit afficher ce bloc. Aller dans admin/build/block pour configurer le bloc. Recherchez le bloc qui s’appelle Articles récents dans la liste des blocs désactivés et placez ce bloc dans la région souhaitée (en le glissant déplacant ou en utilisant le menu déroulant). Cliquez sur Enregistrer les blocs pour valider vos modifications. Vous pouvez cliquer sur Configurer pour changer le titre du bloc, spécifier une visibilité par rôle, et spécifier sur quelles pages il apparaitra. Si votre bloc doit s’afficher sur la page d’accueil, entrez ‘<front>’.

Exercice : créer un bloc qui liste les articles du même auteur

Dans cet exemple, vous allez créer un bloc contextuel permettant lors de l’affichage d’un article de blog de lister les titres des billets les plus récents rédigés par le même auteur. Nous allons utiliser les arguments du module Views pour filtrer dynamiquement les billets de blog.

Pour faire cet exercice, activez le module Blog et créez quelques billets de blog avec des utilisateurs différents.

Créer la vue

Tout d’abord, nous allons créer une vue de type node car ce bloc affichera les titres des billets de blog (un billet de blog est un node). Dans l’interface de Views, cliquez sur Ajouter, puis entrez les propriétés suivantes et cliquez sur Suivant :

Nom de la vue
dernieres_entrees_de_blog
Description de la vue
Liste des derniers billets de blog pour un auteur donné.
Etiquette de la vue
blog
Type de la vue
Node

Générer la liste des billets de blog

Pour une meilleure compréhension, nous allons créer la vue progressivement, et ainsi vérifier le rendu au fur et à mesure. Dans cette section, nous créerons une simple vue pour afficher les titres des billets de blog.

  1. Dans la 3ème colonne, recherchez la section Champs. D’une manière générale, les champs sont les éléments d’information que nous désirons afficher dans une vue (dans notre cas, le titre du noeud). Cliquez sur l’icône + pour ajouter un champ.
  2. Dans la section Paramètres par défaut : Ajouter champs, Sélectionnez le groupe Node pour découvrir les champs d’un node que vous pouvez afficher.
  3. Sélectionnez Node : Titre, puis cliquez sur Ajouter.
  4. Les paramètres du champ Node : Titre s’affichent. Supprimez le texte dans le champ Etiquette, pour ne pas avoir le texte «titre» devant chaque titre de noeud. Cochez également Lier ce champ à son nœud . Cela permettra à vos visiteurs de cliquer sur les titres qui les intéressent et de pouvoir ensuite lire les billets de blog correspondants.
  5. Cliquez ensuite sur Mise à jour. Si vous descendez maintenant jusqu’à la section Prévisualisation en direct, vous verrez qu’effectivement des titres s’affichent. Cependant, il n’y a pas seulement les billets de blog. Des titres appartenant à d’autres types de contenu s’affichent également. Nous allons y remédier.
  6. Dans la colonne de droite, recherchez la section Filtres. Les filtres servent à limiter les résultats de la vue. Dans notre cas, ils nous serviront à limiter l’affichage aux seuls billets de blog. Cliquez sur l’icône + pour ajouter un filtre.
  7. Comme précédemment, dans la section Paramètres par défaut : Ajouter filtres, sélectionnez Node dans la liste Groupes pour limiter les options possibles à celles qui se rapportent au Node.
  8. Descendez et sélectionnez Node : Type, puis cliquez sur Ajouter. Parmi les paramètres qui s’affichent, laissez la valeur de l’opérateur à Fait partie de et choisissez Billet de blog comme Type de noeud. Cliquez ensuite sur Mise à jour.
  9. Vérifiez grâce à la Prévisualisation en direct, un peu plus bas, que votre liste n’affiche plus que les billets de blog.

Ajouter un contexte avec les arguments

Les filtres sont très utiles pour limiter les résultats d’une vue quand la condition d’affichage est connue à l’avance (par exemple, si notre but est d’afficher les billets de blog, il faut toujours filtrer par type «entrée de blog»). Mais les filtres ne savent pas prendre de décision basée sur le contexte. Dans notre cas, nous ne voulons pas que l’affichage soit le même si notre utilisateur est un «administrateur» ou un simple «membre». Dans ce cas les filtres ne peuvent pas nous aider.

Nous avons heureusement un autre outil à notre disposition : les arguments. Par le biais des arguments, nous pouvons ajouter un contexte à notre vue (le cas typique est d’ajouter des identifiants dynamiques à l’URL). Au moment de l’affichage, le module Views prend ce contexte en considération.

Ajoutons un argument à notre vue et configurons le de telle sorte que l’affichage change en fonction de l’auteur de la publication.

  1. Dans la 3ème colonne, recherchez la section Arguments. Cliquez sur l’icône + pour ajouter un argument.
  2. Puisque nous nous intéressons à l’auteur, nous allons sélectionner dans la liste déroulante Groupes : Utilisateur. Choisissez Utilisateur : Uid puis cliquez sur Ajouter.
  3. La section Paramètres par défaut : Configurer Argument Utilisateur : Uid affiche beaucoup d’options, mais nous n’allons nous intéresser qu’à peu de chose.
  4. Le champ Titre, dans cette section, pourra être déterminé par le contexte d’affichage de la vue (contrairement au champ Titre de la section «Champs»). Dans le champ Titre, indiquez «Entrées récentes par %1». Plus tard, à l’affichage de la vue, %1 sera remplacé par le nom d’utilisateur de l’auteur de l’entrée de blog (grâce à l’argument Utilisateur : Uid).
  5. Sous Action à mener si l’argument est absent , il y a plusieurs possibilités (affichage d’une page 403 ou 404, ou simplement affichage de toutes les valeurs. Dans notre cas, si l’argument n’est pas spécifié, nous voulons donner un argument par défaut. En fait ce cas n’arrivera jamais puisqu’au final, nous afficherons une vue ‘bloc’ dans une région et non une vue ‘page’ avec son URL. Sélectionnez Fournir l’argument par défaut.
  6. Sélectionnez Identifiant utilisateur dans l’URL, ce qui fera apparaitre l’option Rechercher aussi un nœud et utiliser l’auteur du nœud. Sélectionnez cette option. En premier lieu, le module Views recherchera s’il peut obtenir de l’URL un identifiant utilisateur (par exemple user/1). Si ce n’est pas le cas, le module Views recherchera si la page en cours est un noeud (par exemple node/42) et, si c’est effectivement un noeud, il prendra à la place l’identifiant utilisateur correspondant à l’auteur du noeud.
  7. Avec les options Validateur, vous pouvez contrôler le type d’argument accepté par votre vue. Sélectionnez le validateur Utilisateur. Ainsi, le module Views s’assure que l’argument passé est bien un authentique identifiant utilisateur. Si ce n’est pas le cas, la vue ne s’affiche pas.
  8. Après avoir changé le titre de l’argument, l’argument par défaut et les options du validateur, cliquez sur Mise à jour pour sauvegarder vos changements.
  9. Vous remarquerez qu’à présent la prévisualisation n’affiche plus rien. Avons-nous tout cassé ? Non, c’est seulement que nous avons demandé à notre vue de ne rien afficher si elle ne trouve pas d’identifiant utilisateur. Entrez l’argument «1» dans le champ Arguments de la prévisualisation et cliquez sur Aperçu. Vous verrez alors s’afficher la liste des billets de blog de l’utilisateur 1.

Créer le bloc

Ainsi, la prévisualisation nous montre bien ce que nous souhaitons obtenir. Il reste cependant un problème : nous ne pouvons pas afficher notre vue dans un bloc ! Corrigeons cela en créant un nouvel affichage.

  1. Dans la première colonne, sous Paramètres par défaut, il y a une liste déroulante qui contient des valeurs telles que Page, Flux, et… Bloc ! Sélectionnez Bloc et cliquez sur Nouvel affichage.
  2. Il n’y a pas grand chose d’autre à faire dans la vue. Sous Paramètres de base, cliquez sur le lien Aucun à droite de Titre et indiquez ‘Derniers billets de blog de %1’ puis cliquez sur Mise à jour. Sous Paramètres des blocs, cliquez sur le lien Aucun à droite de Admin et ajoutez une description de notre bloc (qui apparaîtra dans l’interface d’administration des blocs), par exemple : ‘Derniers billets de blog par auteur’, puis cliquez sur Mise à jour.
  3. Enregistrez votre travail en cliquant sur le bouton Enregistrer, en bas de l’interface de Views. Un message confirme que la vue a bien été enregistrée.
  4. Ensuite, allez dans l’interface de gestion des blocs et déplacez le bloc intitulé «Derniers billets de blog par auteur» dans la colonne de droite (ou toute autre région similaire). Cliquez sur Enregistrer les blocs un fois que votr bloc est à la bonne place.
  5. Vous ne voyez aucun changement. Le nouveau bloc n’apparaît pas dans la colonne de droite. Rappelez-vous, nous sommes sur une page d’administration, nous ne sommes pas sur une page qui nous fournit un identifiant utilisateur contextuel. Allez sur la page d’affichage des blogs puis cliquez sur l’une des entrées. Le bloc devrait apparaitre dans la colonne de droite, intitulé par exemple «Derniers billets de blog de admin» avec la liste des billets de blog associés au-dessous.

Les finitions

Il reste encore quelques petites choses à faire pour que notre vue soit parfaite. Par exemple, nous avions dit que notre bloc devait montrer les derniers billets de blog ; mais elles apparaissent ici dans leur ordre de création, les plus anciennes en haut de liste. De plus, les entrées non publiées sont également affichées.

  1. Retournez dans l’édition de la vue.
  2. Ajoutez un filtre en cliquant sur l’icône + dans la section Filtres.
  3. Choisissez Node dans la liste déroulante Groupes puis sélectionnez Node : Publié. Cliquez sur Ajouter.
  4. Dans la section Publié, choisissez Oui et cliquez sur Mise à jour.
  5. Pour paramétrer le tri, recherchez la section Critères de tri, juste au-dessus des filtres et cliquez sur l’icône +
  6. Dans la liste déroulante Groupes, sélectionnez à nouveau Node. puis sélectionnez Node : Date de publication et cliquez sur Ajouter.
  7. Dans les paramètres, choisissez l’ordre de tri Descendant. Les billets de blog seront présentés des plus récents (haut de liste) aux plus anciens. Cliquez sur Mise à jour.
  8. Enfin, enregistrez de nouveau la vue en cliquant sur le bouton Enregistrer pour que vos nouveaux critères soient pris en compte.

Exercice : créer un flux

Dans cet exemple, vous allez créer un affichage Flux qui contient tous les noeuds créés et publiés par un utilisateur donné, sachant que le nom du rédacteur est passé dans l’url. Ainsi, vous vous familiariserez avec l’interface du module Views 2 et vous apprendrez comment utiliser un argument pour récupérer le nom d’un utilisateur et l’envoyer au coeur d’une url créé dynamiquement.

Un flux est un format de données accessible par l’intermédiaire d’un lecteur de flux. Un flux peut inclure tout ou partie du contenu de votre site. Il est stocké sous forme de fichiers qui deviennent dès lors accessibles par les lecteurs de flux. Lorsque vous visitez un site, vous avez peut-être remarqué la petite icône de transmission RSS . En cliquant sur cette icône, vous pouvez vous abonner aux informations les plus récentes de ce site. Cela permet à vos visiteurs de rester au courant des dernières mises à jour de votre site. Vous pouvez aussi utiliser ce format pour aggréger ces informations sur d’autres sites. Pour de plus amples informations, veuillez regarder la vidéo de Common Craft sur le RSS en langage simple.

Remarque : un flux RSS est automatiquement créé par Drupal, pour votre site. Mais vous désirez peut-être créer des flux avec des informations spécifiques. Dans notre exemple, nous voulons mettre à disposition une liste de contenus par rédacteur.

  1. Créer une nouvelle vue

    Allez à Ajouter une vue. Donnez à votre nouvelle vue le nom ‘flux-utilisateurs’, la description ‘Flux des noeuds par utilisateur’, l’étiquette ‘utilisateurs’, le type ‘Node’ et cliquez sur Suivant.

  2. A propos de l’Interface

    Vous êtes arrivé dans l’Interface Utilisateur du module Views. Dans un premier temps, vous éditez les paramètres par défaut. Dans la colonne située à l’extrême gauche, vous voyez qu’en complément de l’affichage par défaut, vous pouvez sélectionner d’autres types d’affichages dans la liste déroulante comme par exemple l’option ‘bloc’ qui vous permet de sélectionner des paramètres spécifiques aux vues s’affichant dans des blocs. Dans les autres colonnes, vous pouvez ajouter ou modifier des options liées à la vue en cliquant sur des liens ou sur des icônes. Ces options sont détaillées sous la zone principale et peuvent nécessiter l’utilisation de l’ascenseur pour y accéder. Les options modifiées apparaissent en gras jusqu’à ce que la vue soit enregistrée.

  3. Modifier les paramètres de base

    1. Dans la 2ème colonne, sous Paramètres de base, cliquez sur Style de ligne : Champs
    2. .

    3. Un formulaire intitulé Paramètres par défaut : Comment les lignes de cette vue doivent être stylées, apparaît en dessous. Sélectionnez l’option Node puis cliquez sur Mise à jour.
    4. Un nouveau formulaire apparaît alors, intitulé Paramètres par défaut : Options de style de ligne. Cliquez simplement sur le bouton Mise à jour.
  4. Créer la vue RSS

    1. Dans la colonne de gauche, sélectionnez ‘Flux’ dans le menu déroulant et cliquez sur Nouvel affichage.
    2. Dans la 2ème colonne, sous Paramètres de base , cliquez sur Style de ligne : Plugin de style manquant.
    3. Remarque : un nouveau formulaire apparaît en dessous, intitulé : Flux : Comment les lignes de cette vue doivent être stylées. Sélectionnez l’option Node, puis cliquez sur Mise à jour
    4. .

    5. Un dernier formulaire apparaît, intitulé - Type d’affichage . Sélectionnez "Utiliser le paramètrage RSS par défaut", puis cliquez sur Mise à jour.
  5. Paramétrer le chemin d’accès au flux

    1. En bas de la 2ème colonne, sous Paramètres de flux, cliquez sur Chemin : Aucun
    2. Dans le formulaire qui apparaît en dessous, intitulé Flux : Le chemin ou l’URL de menu pour cette vue, entrez un chemin avec argument, par exemple flux/%/rss.xml
    3. Cliquez sur Mise à jour
  6. Paramétrer les arguments pour n’afficher que les noeuds d’un utilisateur donné

    1. Cliquez sur l’icône + à droite de Arguments.
    2. Dans le formulaire qui s’affiche en dessous intitulé Paramètres par défaut : Ajouter arguments, dans la liste déroulante Groupes, sélectionnez ‘Utilisateur’.
    3. Cochez la case Utilisateur : Nom, puis cliquez sur Ajouter.
    4. Descendez et cherchez l’option Casse dans les chemins, et sélectionnez Minuscules.
    5. Cochez également la case Dans les URL, transforme les espaces en tirets.
    6. Cliquez sur Enregistrer l’affichage par défaut (Update default display).
  7. Trier pour obtenir les noeuds les plus récents en début de liste

    1. Remontez dans la colonne de droite sur Critères de tri et cliquez sur l’icône +.
    2. Dans le formulaire qui s’affiche en dessous intitulé Paramètres par défaut : Ajouter critères de tri, dans la liste déroulante Groupes, sélectionnez ‘Node’, puis sélectionnez Node : Date de publication, et cliquez sur Ajouter.
    3. Sélectionnez l’ordre de tri Descendant. Cliquez sur Mise à jour.
  8. Filtrer pour n’obtenir que les noeuds publiés

    1. Cliquez sur l’icône + à droite de Filtres. Dans le formulaire qui s’affiche en dessous intitulé Paramètres par défaut : Ajouter filtres, dans la liste déroulante Groupes, sélectionnez ‘Node’, puis choisissez le filtre Node : Publié, et cliquez sur Ajouter.
    2. Cochez la case Publié. Cliquez sur Enregistrer l’affichage par défaut (Update default display).
  9. Tester

    1. Cliquez sur Enregistrer.
    2. Dessous, dans la Prévisualisation en direct, choisissez Paramètres par défaut, puis entrez le nom d’un utilisateur, en minuscules, en remplaçant les espaces par des tirets dans le champ Argument, et cliquez sur Aperçu. La vue par défaut s’affiche en dessous.
    3. Pour tester votre flux RSS, entrez dans l’URL quelque chose comme http://votresite.com/flux/nom-utilisateur/rss.xml, en remplaçant nom-utilisateur par un nom d’utilisateur de votre site. Une page s’affiche permettant de s’abonner au flux de cet utilisateur, avec en dessous l’affichage de ses noeuds.
    4. Vous pouvez utiliser cette page pour exporter vos données sur d’autres sites. Vous pouvez aussi attacher ce flux sur une autre vue pour obtenir un lien menant à ce flux.

Exercice : créer une vue qui liste les utilisateurs

Dans cet exemple, vous allez créer une vue qui liste les utilisateurs de votre site. Avec cet exercice, vous allez apprendre, pas à pas, les bases pour créer une vue et ainsi vous familiariser avec l’interface utilisateur du module Views.

  1. Créer une nouvelle vue

    Aller à Ajouter une vue. Donner à votre nouvelle vue le nom ‘liste_utilisateurs’, la description ‘Une simple liste des utilisateurs’, l’ étiquette ‘utilisateurs’, le type ‘Utilisateur’ et cliquer sur Suivant.

  2. A propos de l’Interface

    Vous êtes arrivé dans l’Interface Utilisateur du module Views. Au démarrage, vous éditez les paramètres par défaut. Mais vous pouvez créer d’autres affichages. Dans la colonne tout à gauche, vous voyez qu’en plus de l’affichage par défaut, vous pouvez choisir divers types d’affichage dans la liste déroulante comme par exemple le type ‘bloc’ qui vous permet de sélectionner des paramètres spécifiques pour afficher cette vue dans un bloc. Dans les autres colonnes, vous pouvez ajouter ou modifier des paramètres en cliquant sur des liens ou sur des icônes. Ces options apparaitront en détail sous la zone principale et peut-être vous devrez faire défiler votre page pour les voir. Les options modifiées apparaissent en gras jusqu’à ce que la vue soit enregistrée.

  3. Créer un affichage page ; choisir une URL et créer une entrée de menu

    1. Dans la colonne de gauche, assurez-vous que l’affichage ‘Page’ est sélectionné dans le menu déroulant et cliquez sur Nouvel Affichage.
    2. Commencez ensuite par définir le chemin (l’url) pour accéder à la page. Il faut obligatoirement renseigner le chemin pour un affichage page, alors autant le faire tout de suite et éviter le message d’avertissement : «L’affichage ‘Page’ utilise un chemin mais le chemin n’est pas défini». Recherchez les Paramètres de la page dans la 2ème colonne, et cliquez sur le lien Aucun à côté du paramètre Chemin . Dans la zone d’édition qui apparaît en dessous, indiquez ‘liste_utilisateurs’ (ou autre chose si vous préférez) et cliquez sur Mise à jour..
    3. A côté du paramètre Menu , Cliquez sur le lien Pas de menu . Parmi les options présentées en dessous, sélectionnez Entrée de menu normal, indiquez le titre ‘Liste utilisateurs’ et cliquez sur Mise à jour.
    4. Remontez à  Paramètres de base, dans la même colonne, et cliquez sur le lien Non à côté de Utiliser la pagination. Dans les options qui apparaissent en dessous, sélectionnez Pagination complète et cliquez sur Mettre à jour la valeur par défaut.
  4. Sélectionner les champs

    1. Dans la 3ème colonne, recherchez les options relatives aux Champs . Cliquez sur l’icône + pour ajouter des champs.
    2. Dans la liste déroulante Groupes de la zone Ajouter des champs, sélectionnez «Utilisateur», puis cochez les champs suivants : Utilisateur : Date de création , Utilisateur : Dernier accès , Utilisateur : Lien d’édition , Utilisateur : Lien de suppression , Utilisateur : Nom et Utilisateur : Portrait, et finalement cliquez sur Ajouter.
    3. Vous allez maintenant passer chaque champ en revue pour affiner ses réglages. Laisser les paramètres par défaut pour tous les champs en cliquant sur Mettre à jour valeur par défaut excepté Lien de suppression dont vous renommerez l’étiquette en «Opérations».
    4. Dans la zone Champs cliquez maintenant sur l’icône ↑↓ pour réordonner les champs. Dans la zone «Réarranger les chams» vous pouvez ainsi déplacer le champ Nom en haut de la liste en utilisant la flèche directionnelle. Déplacez le champ Lien de suppression (Operations) en bas de la liste, et le champ Lien d’édition juste en dessus. Ensuite cliquez sur Mise à jour.
  5. Aperçu

    A ce stade, vous avez suffisamment d’éléments pour créer une vue correcte. En descendant plus bas dans la page, vous pouvez vérifier le résultat avec un aperçu de votre vue. Si elle n’est pas visible, cliquez sur le bouton Aperçu. Notez que l’aperçu se mets à jour automatiquement lorsque vous modifiez la valeur d’un des paramètres de la vue.

  6. Mettre en forme dans un tableau ; Trier les champs par colonnes.

    1. Dans la 2ème colonne, dans la section Paramètres de base, cliquez sur le lien Non mis en forme à droite du paramètre Style. Dans la zone de configuration Style à appliquer à cette vue, choisissez Tableau et cliquez sur Mettre à jour la valeur par défaut.
    2. Vous arrivez sur un formulaire intitulé Page : Options de style qui permet d’éditer le tableau. Repérez le champ Lien d’édition et dans le menu déroulant Colonne qui lui est associé, choisissez Opérations. Dans la colonne Séparateur à droite du champ Operations, saisissez ’ | ’ (notez les espaces autour du symbole |). Cochez toutes les cases dans la colonne classable , et assignez la valeur tri par défaut au champ Nom. Lorsque vous avez terminé, cliquez sur Mettre à jour la valeur par défaut.
  7. Filtrer la liste des utilisateurs pour exclure les entrées non souhaitées

    1. Cliquez sur l’icône + à droite de Filtres, dans la 4ème colonne.
    2. Dans la liste déroulante intitulée Groupes, sélectionnez ‘Utilisateur’, puis cochez le filtre Utilisateur : Nom , et cliquez sur Ajouter.
    3. Sélectionnez Ne fait pas partie de et entrez ‘Anonymous’ dans la case réservée aux Noms d’utilisateurs. Cliquez sur Mettre à jour la valeur par défaut.
  8. Ajouter un argument pour afficher les utilisateurs par rôle, dynamiquement

    1. Remontez à Arguments, et cliquez sur l’icône +
    2. Dans la liste déroulante intitulée Groupes, sélectionnez «Utilisateur», puis cochez l’argument Utilisateur : Rôles , et cliquez sur Ajouter. Dans le champ titre, entrez «%1» (sans les guillemets), et pour Action à mener si l’argument est absent, sélectionnez Sommaire, classement ascendant. Ne changez pas les autres paramètres. Cliquez sur Mettre à jour la valeur par défaut. Lors des étapes suivantes cliquez sur Mise à jour pour accepter les valeurs par défaut.
  9. Sauvegarder la vue

    Pour terminer, cliquez sur le bouton Enregistrer pour sauvegarder votre travail. En haut de la page, cliquez sur Voir «Page» pour découvrir votre toute nouvelle vue !

    Remarque 1 : Dans cet exemple, nous avons directement créé l’affichage page, et à chaque mise à jour, nous avons cliqué sur le bouton «Mettre à jour la valeur par défaut». Cela veut dire que nous avons créé notre affichage par défaut en même temps que l’affichage page. Plus classiquement, on crée l’affichage par défaut puis les autres affichages, mais la façon de procéder ici a été simplifiée.

    Remarque 2 : Nous avons introduit ici la notion d’arguments mais nous nous en sommes servis d’une manière peu visible. Comme aucun argument n’a été passé à la vue, l’affichage du récapitulatif en ordre ascendant par rôle a été activé.

Nouveautés de Views 2

Views 2 est la plus récente version majeure de Views. Elle a été spécialement conçue pour Drupal 6. Views 2 conserve toutes les fonctionnalités cardinales de Views 1, mais avec une interface utilisateur complètement réorganisée et un grand nombre de nouveautés qui étendent largement le jeu des fonctionnalités originelles de Views 1. Ce document est une comparaison point par point de Views 1 et Views 2 du point de vue de l'utilisateur. Il présente les modifications de l'UI (interface utilisateur), les nouvelles façons d'effectuer les anciennes opérations, les nouveautés les plus attrayantes de Views 2 et comment elles corrigent certains défauts de Views 1.

Interface d'administration

Après avoir installé Views 2, vous remarquerez tout d'abord que l'interface d'administration a été complètement modifiée :


Interface d'administration de Views 2

Comparée à l'ancienne interface de Views 1 :


Interface d'administration de Views 1

La nouvelle interface d'administration effectue les mêmes tâches que l'ancienne -- cataloguer toutes les vues du système, fournir des liens pour ajouter, importer des vues et accéder aux outils (Views Tools) -- mais avec une présentation plus condensée ; ainsi chaque vue est affichée sur une ligne comme un paragraphe au lieu de l'être sous la forme d'une ligne de tableau comme dans Views 1. En haut de page, un jeu de filtres a été ajouté pour faciliter la localisation des vues lorsque leur nombre devient important.

On peut accéder à l'aide contextuelle en cliquant sur la petite icône bleue représentant un point d'interrogation. Dans Views 2, l'aide contextuelle est rendue disponible par le module Advanced Help (Aide avancée), aussi pensez à installer ce module en même temps que Views 2. La petite icone d'aide bleue est disponible à différents endroits de l'interface graphique de Views 2. En particulier, vous remarquerez sa présence à côté de la description d'un affichage (display), et dans différentes parties de l'éditeur comme les chemins, les menus et ainsi de suite.

Exemple des nouveaux attributs disponibles pour les vues sont visibles dans les filtres d'entête :

  1. Etiquette - L'étiquette est juste une appellation supplémentaire destinée à organiser et ordonner les vues. Les étiquettes acceptent n'importe quel caractère. Les vues qui sont fournies avec les modules gagneront à disposer d'étiquettes identiques afin d'être retrouvées plus facilement.
  2. Affichage - Dans Views 1, chaque requête de vue était liée à son affichage ; en d'autres termes, vos champs, tris, filtres, et arguments ne pouvaient être affichés que dans le seul affichage de page ou de bloc indiqué au moment de la définition de la vue. Dans Views 2, les affichages de vues ont été séparés des requêtes - il est à présent possible de définir différents affichages (pages, blocs ou fluxs) à partir d'une même vue. Vous trouverez des explications supplémentaires sur l'affichage des vues plus loin dans ce document.
  3. Type - Les types de vues dans Views 2 sont complètement différents de ceux de Views 1. Les types de Views 1 désignent essentiellement la façon dont les affichages de listes de noeuds sont présentés - c'est à dire « noeuds complets » (Full Nodes), « noeuds résumés » (Teaser List), « tableau » (Table View), et ainsi de suite. Dans Views 2, la présentation des affichages a été déplacée dans un attribut Style séparé. Les types de vues se rapportent maintenant à la table principale dans laquelle l'information de la requête est retournée. Ils définissent quels arguments, quels champs, quels critères de tri et quels filtres seront disponibles. Les types de vues de Views 2 seront présentés plus loin.

Ajouter une vue

Bon, sautons le pas et ajoutons une vue. Pour cet exemple, nous avons créé une vue utilisateur destinée à afficher une liste d'utilisateurs.


Ajouter une vue

La première étape de l'ajout d'une vue consiste simplement à indiquer un nom (seulement des caractères alphanumériques, pas d'espaces), une description, une ou plusieurs étiquettes, et un type de vue.


Configuration de la nouvelle vue

La configuration de la vue est le deuxième élement dont l'interface a été complètement revue depuis Views 1. Le meilleur moyen de résumer cela est de dire que toutes les parties de l'interface de Views 1 sont toujours présentes... mais à des emplacements différents. Champs, arguments, critères de tri ou flitres, ils sont tous là, mais agrémentés d'un zeste d'Ajax.

Commençons par ajouter quelques champs :


Ajout de champs

Cliquer sur l'icone [+] située juste après le mot « Champs » fait apparaitre une section située sous les informations de la vue avec tous les champs disponibles. Ils sont groupés par Commentaire, Champ, Node, Révision, Taxonomie et Utilisateur, et probablement quelques autres. C'est un principe de fonctionnement général à l'interface de Views 2 -- cliquer sur un widget ou un lien fait apparaitre, sous les informations de la vue, une section affichant l'interface appropriée.

Lors de l'ajout d'éléments, vous pouvez utiliser le menu déroulant « Groupes » pour n'afficher que la partie des champs disponibles concernée par le goupe sélectionné. Vous pouvez aussi sélectionner « <Tout> » (<All>), qui correspond à l'affichage par défaut lorsque la section apparait. Dans notre exemple, nous sélectionnons le groupe « Utilisateur » et nous ajoutons les champs : Utilisateur : Adresse électronique, Utilisateur : Nom et Utilisateur : Portrait.


Ajout de champs

Lorsque les champs ont été ajoutés, il apparaissent dans la section « Champs » de l'interface. Chacun des champs ajoutés va être passé en revue successivement. Nous cliquons alors simplement sur Mise à jour, même si nous n'avons effectué aucune modification, et le champ suivant s'affiche à son tour.

Les champs que nous avons ajoutés peuvent être réordonnés en cliquant sur l'icone affichant deux petites flèches, l'une ascendante et l'autre descendante, située à la droite de l'icone utilisée précédemment. Nous pouvons aussi retirer un champ en utilisant la même interface.


Réordonner les champs

A partir de là, vous pouvez glisser les champs vers le haut ou vers le bas en utilisant la petite croix flèchée et en la déplacant comme bon vous semble. Effectuer une modification de n'importe quelle partie de la vue en cliquant sur « Mise à jour » provoque habituellement un rafraichissement de la prévisualisation. Celle-ci est commodément située juste en dessous de l'interface principale.


Prévisualisation de la vue

Maintenant que nous avons configuré quelques champs, nous pouvons porter notre attention aux réglages de base de la vue.

Il est important de remarquer que tous les élements de l'interface dépendent de l'affichage (display) actuellement sélectionné pour la vue. Comme indiqué plus haut, une vue peut avoir de multiples affichages. Juste après avoir créé une vue, le seul affichage disponible est l'affichage par défaut (Defaults). Vous pouvez ajouter de nouveaux affichages en utilisant le bouton « Nouvel affichage », chacun d'eux a une configuration de base complètement différente de celle des autres ; cela vous permet d'avoir autant d'affichages de la vue que vous voulez. Tous ont en commun des éléments comme Critères de tri, Filtres et Arguments mais chacun d'eux a des configurations d'affichage différentes tels que les paramètres Titre, Style, Champs, et Pagination. De plus, chaque affichage que vous ajoutez hérite automatiquement des paramètres de l'affichage par défaut ; vous pouvez donc configurer un noyau de paramètres communs dans l'affichage par défaut et ajouter les paramètres additionnels pour chacun des autres affichages.


Ajouter un affichage de Page

Restons fidèles à l'affichage par défaut et modifions quelques réglages. Nous pouvons configurer le Titre en « Vue 1 d'utilisateurs » et le Style en Tableau. Comme indiqué plus haut, les styles de vues dans Viws 2 correspondent plutôt aux types de vues de Views 1.


Sélection du type de vue dans Views 1

Dans views 2, les styles de vue définissent la façon dont un affichage de vue apparait. Ces styles sont notablement différents des types dans Views 1 ; en particulier, les types ont été « cassés » ; dorénavant,; le style tout comme le style de ligne s'occupent de parties différentes du rendu.


Schéma du rendu d'une vue

Nous modifions le style en cliquant sur le style courant situé sur la partie gauche de la zone d'information de la vue.


Sélection d'un style d'affichage dans Views 2

Les options de style disponibles sont Grille, Liste HTML, Tableau et Non mis en forme. Des styles d'affichage supplémentaires peuvent être ajoutés par des modules disposant de plugins de style pour Views. Choisir un style fait apparaitre un bouton « Paramètres » que vous pouvez cliquer pour configurer le style que vous avez choisi. Dans l'aperçu ci-dessous, nous avons sélectionné et configuré le style Table, qui est utilisé pour produire un rendu plus compact que le précédent.


Sélection et configuration du style Table

Views : Définition

Le module «Views» permet aux administrateurs et aux créateurs de sites de créer, gérer et afficher des listes de contenu. Chaque liste gérée par le module «Views» est appellée «vue» (view) et son résultat est appelé un affichage (display). Les affichages peuvent être de type bloc ou page, et chaque vue peut avoir plusieurs affichages. Des aides à la navigation, comme le chemin système et un élément de menu peuvent être définis par les affichages de type page. Par défaut, on peut créer des vues pour lister des noeuds (vue de type Node), des révisions de contenu (vue de type Révision du nœud) ou des utilisateurs (vue de type Utilisateur). On peut restreindre l’accès à une vue à des rôles spécifiques.

On ajoute, supprime ou modifie une vue via la page d’administration de Views

Le design du système de Views est puissant et flexible, permettant de spécifier des paramêtres seulement si on en a besoin. Alors qu’une vue avancée peut nécessiter d’utiliser tous les paramêtres pour créer des applications complexes ayant un taux d’interactivité élevé, une simple liste peut être créée avec très peu d’options.

Toutes les vues se basent sur un cadre conceptuel (conceptual framework) qui inclus :

  • Les Champs sont les plus petits morceaux de contenu qui puissent être affichés. En ajoutant par exemple les champs Node : Titre, Node : Type et Node : Date de publication à une vue de type node, on obtiendra une liste incluant, pour chaque noeud, son titre, son contenu et sa date de publication.
  • Les Relations, indiquent comment les données sont liées les unes aux autres. Si une «relation» existe telle que les informations fournies par un champ CCK node référence, le contenu d’un noeud lié peut être inclus dans la vue.
  • Les Arguments sont des paramètres additionnels qui permettent de restreindre les résultats dynamiquement, via l’url. Par exemple en ajoutant un argument de type Node : Type à une vue de type node et en définissant son chemin comme «contenu», on filtre dynamiquement le contenu par type de contenu. Par exemple en accédant à la vue à l’adresse «http://www.example.com/contenu/story» on liste tous les contenu de type article alors que «http://www.example.com/contenu» liste tous les contenus, quels que soient leur type.
  • Les critères de tri, qui déterminent l’ordre dans lequel les données seront affichées. Par exemple, en ajoutant le critère de tri Node : date de publication (en ordre descendant), on trie la liste par date de publication, du plus récent au plus ancien.
  • Les Filtres, qui permettent de limiter les résultats affichés. Par exemple en ajoutant le filtre Node : Publié = oui empêche les éléments non publiés d’apparaître dans les résultats.
  • Les Affichages, qui contrôlent comment le résultat sera affiché. Chaque vue a un affichage par défaut qui, dans l’absolu ne génère aucun affichage mais qui est utilisé pour stocker les paramètres par défaut et pour afficher des vues par la programmation lorsqu’aucun autre affichage n’est défini. Les affichages de type page qui donnent à la vue une url qui permette à la vue d’être le contenu principal d’une page, et ceux de type bloc qui permettent d’afficher le résultat dans un bloc de contenu secondaire sont beaucoup plus utiles pour l’utilisateur.

Les champs

Les champs sont les données qui sont affichées. En ajoutant par exemple Node : Titre, Node : Type, et Node : Date de publication à une vue de type noeud, on obtient le titre, le type de contenu et la date de publication dans les résultats affichés.

Les champs peuvent ne pas apparaître sur tous les affichages, parce que certains plugins n’utilisent pas les champs. Par exemple le plugin de «style de ligne» «Node» affiche le noeud dans sa totalité grâce aux mécanismes habituels de Drupal et n’utilise pas les champs.

En règle générale, le paramétrage des champs devrait pouvoir se passer d’explication. Les champs apparaitront dans l’ordre dans lequel ils ont été disposés avec l’étiquette qui leur a été donnée.

Les relations

Les relations permettent d’étendre la requête pour inclure des objets qui ne sont pas dans la requête de base. Ce qui rend ce concept un peu difficile à comprendre, c’est que Views utilise déjà quelques relations par défaut, mais sans les afficher. Pour des raisons historiques, il serait maintenant difficile de retirer ces relations par défaut.

Quand des relations sont définies, tous les champs, (y compris les relations elles-mêmes) héritent d’un nouveau paramètre permettant de sélectionner quelle relation ils utilisent. Par défaut ils n’en utilisent pas.

L’exemple typique de la relation qui est disponible par défaut mais qui n’est pas montrée, est celle qui lie le noeud à son auteur via la relation node - utilisateur. Si un noeud est dans une requête, l’utilisateur qui a créé ce noeud est automatiquement accessible dans la vue. [Il est à noter que l’auteur de Views considère que c’est une erreur d’avoir rendu cette relation automatique, mais quand il s’est rendu compte de son erreur, il était déjà trop tard pour la corriger].

Une relation similaire, mais qui elle n’est pas automatique est la révision de noeud. Chaque révision a un auteur, à savoir l’utilisateur qui l’a créée. En ajoutant la relation «Révision du nœud : Utilisateur», tous les champs, critères de tri, filtres et arguments liés à l’utilisateur auteur de la révision deviennent disponibles.

Quand une relation est ajoutée à une vue, tous les champs concernés disposent d’une liste déroulante permettant de sélectionner la relation adéquate. Parmi les options proposées, vous avez la possibilité de choisir «Ne pas utiliser de relation» (défaut). Voici un exemple avec une vue de type commentaire, qui par défaut ne propose aucun champ appartenant au groupe «Node», ni au groupe «Utilisateur» :

Une vue de type commentaire propose les relations «Commentaire : node» et «Commentaire : utilisateur». En sélectionnant «Commentaire : node», tous les champs du noeud auquel le commentaire est attaché sont disponibles. De plus tous les champs utilisateur liés à l’auteur de ce noeud sont également disponibles (via la relation cachée d’un noeud à son auteur). En sélectionnant «Commentaire : utilisateur», vous accédez aux champs liés à l’auteur du commentaire — qui le plus souvent n’est pas l’auteur du noeud !

Dans cet exemple, si vous ajoutez le champ «Utilisateur : nom», l’interface vous propose alors le choix entre une relation de type «Node» ou une relation de type «Utilisateur». La relation «Node» permet comme vu précédemment d’accéder au nom de l’auteur du noeud, alors que relation «Utilisateur» vous permet d’accéder au nom de l’auteur du commentaire. L’une des deux relations doit obligatoirement être choisie pour permettre à Views de choisir quel utilisateur afficher.

La table «files», créée par le module «Upload», illustre un autre exemple de relations. Dans Drupal, les fichiers sont liés aux utilisateurs, mais pas toujours à des noeuds. Cependant, le module «upload» permet aux fichiers d’être attachés à des noeuds via la table «upload». Ceci permet à Views, en partant d’une vue ‘Node’, de proposer le champ ‘fichier attaché’. Mais dans l’autre sens, en partant d’une vue ‘File’, il faut créer une relation via la table «upload» pour extraire les informations au sujet du noeud.

Les arguments

Les arguments sont envoyés à la vue. Ils sont souvent transmis à travers l'URL, mais pas toujours (ne soyez donc pas étonnés quand ce n'est pas le cas). Chaque affichage a sa propre source d'arguments. Les affichages de type "bloc" n'ont aucune source d'argument: ils ne peuvent pas extraire les arguments de l'url et ont souvent besoin d'utiliser du code PHP pour recevoir des arguments. L'argument par défaut peut être utilisé pour envoyer des arguments à une vue "bloc. Voir "Fournir l'argument par défaut" ci dessous.

En général, les arguments sont utilisés pour filtrer les résultats de la vue et en ce sens ils sont très similaires aux filtres. Mais cela n'est pas forcément le cas pour tous les arguments. Les arguments peuvent être utilisés pour toutes sortes de raisons, ce que fait l'argument dépends vraiment de ce que le développeur de l'argument à prévu. Toutefois, les arguments qui sont inclus dans views sont presques tous des filtres.

Une utilisation classique d'un argument consiste a réduire le résultat de la vue à un seul noeud, un seul utilisateur ou terme de taxonomie.

Action lorsque aucun argument n'est fourni :

Afficher toutes les valeurs (Ignore)
L'argument est ignoré comme si la vue n'en avait pas et toutes les valeurs sont affichées.
Cacher la vue / Page non trouvée (404)
La vue ne renvoie aucun résultat si l'argument n'est pas présent. Dans le cas d'un affichage bloc, le bloc n'apparait pas du tout sur la page. Pour un affichage page, la vue retourne une erreur 404 et présente à l'utilisateur la page définie comme "page non trouvée".
Afficher le texte vide
La valeur définie dans l'option "Texte vide" (empty text) est affichée.
Sommaire
La vue essaie d'afficher une liste d'arguments possible, basée sur la vue, et fournit des liens pour visualiser la vue avec cet argument. Les sommaires ont leurs propres styles et options. Le style de sommaire par défaut affiche une liste d'arguments avec le compte du nombre de données trouvées pour chacun. Ce mode spécial est une des fonctionnalités extrêmement puissantes de Views.
Fournir l'argument par défaut
Si aucun argument n'est fourni, un argument par défaut peut être envoyé. La méthode pour choisir l'argument peut être étendue par des plugins.

Joker : (Wildcards)

Tous les arguments ont un "joker" qui indique à la vue d'utiliser toutes les valeurs. En pratique, cela revient au même que l'option "afficher toutes les valeurs". L'argument est ignoré et la vue est créée sans argument. Le joker est utilisé dans le titre de la page et dans le fil d'Ariane.

Arguments par défaut :

Le choix de l'argument par défaut n'est accessible que si l'action "quand aucun argument n'est fourni" vaut "fournir l'argument par défaut". Dans ce cas, une nouvelle série d'options apparait pour choisir l'argument par défaut. Voici la selection d'arguments possible avec Views (notez que d'autres modules peuvent en ajouter d'autres) :

Entrée fixe :
En sélectionnant "entrée fixe" vous pouvez saisir directement la valeur de l'argument. Cette option n'est pas une variable, l'argument fourni à la vue sera toujours le même.
Identifiant du nœud à partir de l'URL
En sélectionant cette option, la vue tentera d'extraire un identifiant de noeud dans l'url, ce qui est particulièrement utile pour un argument Node : Nid (bien que d'autres arguments qui utilisent les identifiants de noeud comme les node références CCK). Par exemple quand l'url est "node/1" ou "node/1/edit", Views sait que "1" est un identifiant de noeud et l'utilisera comme argument.
Identifiant utilisateur dans l'URL
Comme pour l'identifiant de noeud, dans le cas ou l'on choisit "identifiant utilisateur dans l'URL", Views tentera d'extraire un identifiant utilisateur de l'url. Il est également possible de lui signifier de rechercher le noeud et d'utiliser l'auteur du noeud comme argument.
Identifiant de l'utilisateur connecté
Vous pouvez par exemple utiliser cette option pour fournir un élément de menu adapté à l'utilisateur connecté. Par exemple si vous créez une vue avec le chemin "blog" et que vous lui donnez en argument l'identifiant de l'utilisateur connecté, alors le menu "blog" affichera son propre blog, alors que "blogs/1" affichera le blog de l'utilisateur 1.

Gardez en mémoire que la sélection d'un argument par défaut n'aura lieu que si aucun argument n'est fourni. Si vous utilisez un affichage qui n'a pas de source d'argument, comme un bloc, ce sera 100% des cas, mais si vous utilisez un affichage qui extraie les parametres de l'URL, cela n'arrive que dans le cas ou l'url ne contient pas d'argument.

Validation des arguments

Les arguments peuvent avoir des validateurs qui sont des plugins qui vérifient que les arguments valident une liste de paramêtres. Quand un validateur est sélectionné, il peut proposer des paramêtres, incluant l'action à entreprendre lorsque un argument est présent mais que la validation échoue. Ces actions sont généralement les mêmes que les actions par défaut situées plus haut, excluant la possibilité de fournir une autre valeur par défaut.

Si une vue a une option de menu, comme un onglet, et que l'argument ne passe pas la validation, l'onglet n'apparaitra pas.

Ce système permet d'avoir d'autres validateurs sous forme de plugin, mais par défaut, Views fournit :

Validation de base
S'assure que l'argument est présent. Le cas échéant, une valeur PHP null ne passe pas la validation.
Terme de classification
S'assure que l'argument fournit est un terme valide de la classification (taxonomie). Il est également possible de limiter la recherche à des vocabulaires spécifiques.
Code PHP
Vous pouvez saisir du code PHP, un peu comme dans les blocs, pour déterminer si l'argument fourni est valide ou pas.

Les filtres

Les filtres sont utilisés pour restreindre les résultats retournés par une vue. En clair, si vous ne mettez aucun filtre, la vue retournera l’intégralité des contenus. Ce n’est probablement pas votre but, c’est pourquoi vous avez besoin de filtres.

Voici des filtres fréquemment utilisés :

  • Le filtre «Node : publié = oui» est utilisé pour n’afficher que les noeuds qui ont été marqués comme publiés. Ce filtre peut être très important pour empêcher les utilisateurs de voir du contenu auquel ils ne devraient pas avoir accès.
  • Le filtre «Node : Promu en page d’accueil» est utilisé pour ne montrer que les noeuds qui ont été marqués comme promus en page d’accueil.
  • Le filtre «Node : Type» permet de ne montrer que les noeuds qui appartiennent à certains types de contenu. A utiliser par exemple lorsque vous ne voulez montrer que des noeuds de type «book» ou une combinaison de noeuds de type «book» ou «blog des employés».
  • Le filtre «Utilisateur : Courant» ne montre que les noeuds dont l’utilisateur connecté est l’auteur.
  • Le filtre «Node : Date de publication» est utilisé pour afficher des noeuds postés avant, après ou à l’intérieur d’un intervalle de dates.

La liste ci dessus n’est qu’une infime fraction des filtres disponibles dans Views. Elle est destinée à vous donner un ordre d’idée des possibilités offertes par les filtres.

Intégration de view via php

Lorsque l’on crée une vue il est possible de créer différents affichages (défaut, page ou encore bloc) mais il n’est pas possible d’intégrer votre vue dans une page à un endroit spécifique. Pour cela il existe des modules comme insert_views qui permettent d’insérer une vue dans une page en ajoutant une simple ligne de code. Le problème est qu’il faut faire attention à chaque fois que vous éditez votre page que votre vue fonctionne toujours surtout si vous utilisez un éditeur Wisywig. Il existe sinon une autre solution, qui consiste à intégrer votre vue en Php.

Je passe la partie création du module, mais pour réaliser ce qui suit il vous faut l’avoir crée.

Nous allons utiliser la fonction views_embed_views($name, $display_id = ‘default’) qui n’a besoin que d’un seul paramètre (nom de la vue) pour fonctionner.

<?php
$viewname
= 'MY_VIEW_NAME' ;
print
views_embed_view ( $viewname );
?>

Le code ci-dessus nous permet d’afficher la vue portant le nom MY_VIEW_NAME

En lisant la fonction views_embed_views on s’apercoit que celle-ci autorise un deuxième paramètre ($display_id) qui gère l’affichage (exemple : default, page, block, etc) et va nous permettre de choisir le format de sortie. Bien souvent, lorsque l’on crée une vue c’est pour afficher des résultats variables selon un paramètre comme une liste en fonction d’un terme de taxonomie. Ainsi pour passer un argument à notre vue nous allons ajouter un troisième paramètre à notre fonction.

<?php
$viewname
= 'liste_des_cours';
$display = 'page';
$view_arg = 'economie';
print
views_embed_view ($viewname, $display , $view_arg);
?>

Il ne vous reste plus qu’à choisir ou intégrer cette vue.

Ce que nous venons de voir est facile à mettre en place pour afficher le contenu d’une vue, mais cela ne nous laisse que très peu de contrôle sur notre vue. Par exemple views_embed_views n’affichera pas le titre que vous aurez saisi dans votre vue.

Pour aller plus loin nous allons utiliser la fonction views_get_views($name, $reset = FALSE) qui va nous permettre d’accéder à plus d’information.

<?php
$viewname
= 'liste_des_cours';
$display = 'page';
$view_arg = 'economie';
// Chargement de notre vue
$view = views_get_view ($viewname);

// On ajoute des paramètres à notre vue
$view->display_handler->set_option('items_per_pages', 4);
$view->display_handler->set_option('offset', 0);

//Exécution de le vue
$view_content = $view->execute_display($display, $view_arg);

//Récupération du titre de notre vue
$view_title = $view->get_title();
?>

Comme toujours il existe pas mal de fonctions et de possibilités pour générer une vue, dans la majorité des cas la première solution est la plus utilisée.