Introduction à Views
This content is not available in your language yet.
🔍 Qu’est-ce que Views ?
Section intitulée « 🔍 Qu’est-ce que Views ? »Views est l’un des modules les plus puissants de Drupal. Il permet de créer des requêtes sur la base de données et d’afficher les résultats de manière formatée, sans écrire une seule ligne de code.
Exemples d’utilisation
Section intitulée « Exemples d’utilisation »- Liste des derniers articles publiés
- Catalogue de produits avec filtres
- Galerie d’images
- Tableau de bord administrateur
- Flux RSS
- API REST
🏠 Accéder à Views
Section intitulée « 🏠 Accéder à Views »- Naviguez vers Structure → Views
- URL directe :
/admin/structure/views
Vous verrez la liste des vues existantes :
- Archive : Articles par date
- Content : Liste de contenu (admin)
- Files : Fichiers utilisés
- Frontpage : Page d’accueil par défaut
- Taxonomy term : Contenu par terme
🛠️ Interface de création
Section intitulée « 🛠️ Interface de création »Créer une nouvelle vue
Section intitulée « Créer une nouvelle vue »-
Cliquez sur Add view
-
Remplissez les informations de base :
- View name : Nom affiché dans l’admin
- Machine name : Identifiant système
- Description : But de la vue
- Show : Type d’entité (Content, Users, Terms…)
- of type : Bundle (Product, Article…)
-
Choisissez le type d’affichage initial :
- ☑ Create a page
- ☑ Create a block
-
Cliquez sur Save and edit
📐 L’interface d’édition
Section intitulée « 📐 L’interface d’édition »L’interface Views est divisée en plusieurs zones :
┌─────────────────────────────────────────────────────────────────────┐│ DISPLAYS (tabs) ││ [Page] [Block] [+ Add] │├─────────────────────────────────────────────────────────────────────┤│ ││ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ││ │ TITLE │ │ FORMAT │ │ FIELDS │ ││ │ │ │ Unformatted ▼ │ │ + Add field │ ││ │ View: Products │ │ Settings │ │ - Content: Title│ ││ │ │ │ Show: Fields ▼ │ │ - Content: Image│ ││ └──────────────────┘ └──────────────────┘ └──────────────────┘ ││ ││ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ││ │ FILTER CRITERIA │ │ SORT CRITERIA │ │ PAGE SETTINGS │ ││ │ + Add filter │ │ + Add sort │ │ Path: /shop │ ││ │ - type = product │ │ - Created DESC │ │ Menu: Shop │ ││ │ - status = 1 │ │ │ │ │ ││ └──────────────────┘ └──────────────────┘ └──────────────────┘ ││ ││ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ││ │ PAGER │ │ HEADER │ │ FOOTER │ ││ │ Full | 10 items │ │ + Add header │ │ + Add footer │ ││ └──────────────────┘ └──────────────────┘ └──────────────────┘ ││ ││ ┌─────────────────────────────────────────────────────────────────┐││ │ PREVIEW (Auto-update) │││ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │││ │ │ P1 │ │ P2 │ │ P3 │ │ P4 │ ... │││ │ └─────┘ └─────┘ └─────┘ └─────┘ │││ └─────────────────────────────────────────────────────────────────┘││ ││ [Save] [Cancel] [Delete] │└─────────────────────────────────────────────────────────────────────┘📑 Les composants clés
Section intitulée « 📑 Les composants clés »1. Displays
Section intitulée « 1. Displays »Les différentes “sorties” de la vue :
- Page : Accessible via URL
- Block : Plaçable dans les régions
- Attachment : Attaché à un autre display
- Feed : RSS/Atom
- REST Export : API JSON
2. Format
Section intitulée « 2. Format »Comment afficher les résultats :
| Format | Description | Usage |
|---|---|---|
| Unformatted list | Liste simple sans wrapper | Flexbox/Grid CSS |
| HTML List | Liste <ul><li> | Listes sémantiques |
| Table | Tableau <table> | Données tabulaires |
| Grid | Grille responsive | Galeries, catalogues |
Show : Quoi afficher dans chaque item :
- Fields : Champs individuels
- Content : Entité rendue (view mode)
- Rendered entity : Avec mode d’affichage
3. Fields (si Show = Fields)
Section intitulée « 3. Fields (si Show = Fields) »Les champs à afficher pour chaque résultat :
- Réordonnez par glisser-déposer
- Configurez le label, le formatter, le wrapper
- Réécrivez la sortie avec des tokens
4. Filter Criteria
Section intitulée « 4. Filter Criteria »Les conditions de filtrage :
- Content: Type = product
- Content: Publishing status = Published
- Field: Category = T-shirts
Appliqués automatiquement, invisibles pour l’utilisateur.
Affichés à l’utilisateur qui peut les modifier.
5. Sort Criteria
Section intitulée « 5. Sort Criteria »L’ordre des résultats :
- Content: Authored on (DESC) → Plus récent d’abord
- Content: Title (ASC) → Alphabétique
- Field: Price (ASC) → Moins cher d’abord
6. Pager
Section intitulée « 6. Pager »La pagination :
- Full : Pagination complète avec numéros
- Mini : Juste Précédent/Suivant
- Display a specified number of items : Sans pagination
- Display all items : Tout afficher
7. Header / Footer
Section intitulée « 7. Header / Footer »Contenu avant/après les résultats :
- Texte global
- Résultat de vue
- Zone de texte
- Compteur “X résultats”
8. No Results Behavior
Section intitulée « 8. No Results Behavior »Que faire si aucun résultat :
- Afficher un message
- Afficher un autre contenu
- Afficher une vue alternative
🔧 Première vue de test
Section intitulée « 🔧 Première vue de test »Créons une vue simple pour comprendre le workflow :
-
Structure → Views → Add view
-
Configuration de base :
Champ Valeur View name Test ProductsShow Contentof type Productsorted by Newest first☑ Create a page YesPage title ProduitsPath /test-productsDisplay format Unformatted listofteasersItems per page 10☐ Create a block No -
Cliquez sur Save and edit
-
Observez l’aperçu en bas de page
-
Cliquez sur Save pour sauvegarder
-
Visitez
/test-productspour voir le résultat
🎨 Personnaliser l’affichage
Section intitulée « 🎨 Personnaliser l’affichage »Changer le format
Section intitulée « Changer le format »- Dans Format, cliquez sur Unformatted list
- Choisissez Grid
- Configurez :
- Number of columns:
4 - Alignment:
Horizontal
- Number of columns:
- Apply
Ajouter un champ
Section intitulée « Ajouter un champ »- Dans Fields, cliquez sur Add
- Recherchez “price”
- Sélectionnez Content: Price
- Configurez :
- Label:
Prix - Formatter:
Default
- Label:
- Apply and continue
Ajouter un filtre
Section intitulée « Ajouter un filtre »- Dans Filter criteria, cliquez sur Add
- Recherchez “category”
- Sélectionnez Content: Category (field_category)
- Configurez :
- Expose this filter:
Yes - Label:
Catégorie
- Expose this filter:
- Apply
💾 Export et configuration
Section intitulée « 💾 Export et configuration »Les vues sont exportées en YAML :
# views.view.test_products.ymllangcode: frstatus: truedependencies: config: - node.type.product module: - node - userid: test_productslabel: 'Test Products'description: ''tag: ''base_table: node_field_database_field: niddisplay: default: id: default display_title: Default display_plugin: default # ... configuration# Exporterdrush cex -y
# Vérifiercat config/sync/views.view.test_products.yml⚠️ Points d’attention
Section intitulée « ⚠️ Points d’attention »- Performance : Chaque champ = une jointure potentielle
- Cache : Configurez le cache pour les vues publiques
- Permissions : Vérifiez les droits d’accès
- Preview : Utilisez “Auto preview” avec modération sur gros volumes
✅ Vérification
Section intitulée « ✅ Vérification »Avant de continuer :
- Vue de test créée
- Aperçu fonctionnel
- Page accessible à
/test-products - Comprendre les zones de l’interface
🔜 Prochaine étape
Section intitulée « 🔜 Prochaine étape »Maintenant que vous comprenez Views, créons le Catalogue produits complet.