Catalogue produits
This content is not available in your language yet.
🛒 Vue “Catalogue produits”
Section intitulée « 🛒 Vue “Catalogue produits” »Nous allons créer la vue principale de la boutique, accessible à /shop.
Objectif final
Section intitulée « Objectif final »Une page avec :
- Grille de produits (4 colonnes desktop)
- Filtres par catégorie, marque, prix
- Tri par date, prix, nom
- Pagination de 12 produits par page
- Compteur de résultats
📝 Créer la vue
Section intitulée « 📝 Créer la vue »-
Allez dans Structure → Views → Add view
-
Configuration initiale :
| Champ | Valeur |
|---|---|
| View name | Catalogue Produits |
| Machine name | products_catalog |
| Description | Liste des produits de la boutique |
| Show | Content |
| of type | Product |
| tagged with | (vide) |
| sorted by | Newest first |
Display Page
Section intitulée « Display Page »| Champ | Valeur |
|---|---|
| ☑ Create a page | Oui |
| Page title | Boutique |
| Path | /shop |
| Display format | Unformatted list of teasers |
| Items per page | 12 |
- Cliquez sur Save and edit
⚙️ Configurer le display Page
Section intitulée « ⚙️ Configurer le display Page »Format : Grid responsive
Section intitulée « Format : Grid responsive »-
Cliquez sur Unformatted list dans la section FORMAT
-
Sélectionnez Grid
-
Apply
-
Cliquez sur Settings à côté de Grid :
| Paramètre | Valeur |
|---|---|
| Number of columns | 4 |
| Alignment | Horizontal |
| Column class | col |
| Row class | row |
- Apply
Show : Rendered entity
Section intitulée « Show : Rendered entity »-
Cliquez sur Fields (à côté de Grid)
-
Changez pour Rendered entity
-
Apply
-
Cliquez sur Settings :
| Paramètre | Valeur |
|---|---|
| View mode | Card |
- Apply
Filtres de base
Section intitulée « Filtres de base »Vérifiez que ces filtres existent (ils devraient être par défaut) :
- Dans Filter Criteria, vous devriez voir :
- Content: Publishing status =
Published(Yes) - Content: Content type =
Product
- Content: Publishing status =
Si non, ajoutez-les avec Add :
Filter: Content: Publishing status Status: Published [x] Exposed: No
Filter: Content: Content type Content types: Product [x] Exposed: No🎯 Configuration avancée
Section intitulée « 🎯 Configuration avancée »Header : Compteur de résultats
Section intitulée « Header : Compteur de résultats »- Dans Header, cliquez sur Add
- Sélectionnez Result summary
- Configurez :
| Paramètre | Valeur |
|---|---|
| Display | Displaying @start - @end of @total |
- Personnalisez le texte :
Affichage de @start à @end sur @total produits- Apply
Pager : Pagination complète
Section intitulée « Pager : Pagination complète »-
Cliquez sur le lien Mini dans PAGER
-
Sélectionnez Paged output, full pager
-
Apply
-
Configurez les options :
| Paramètre | Valeur |
|---|---|
| Items per page | 12 |
| Offset | 0 |
| Link to more | No |
- Dans More pager options :
| Paramètre | Valeur |
|---|---|
| Expose items per page | No |
| Pager ID | 0 |
| Tags → First | « Premier |
| Tags → Previous | ‹ Précédent |
| Tags → Next | Suivant › |
| Tags → Last | Dernier » |
- Apply
Tri par défaut
Section intitulée « Tri par défaut »- Vérifiez les Sort Criteria
- Gardez Content: Authored on (DESC)
- Nous ajouterons le tri exposé plus tard
No Results Behavior
Section intitulée « No Results Behavior »- Dans No Results Behavior, cliquez sur Add
- Sélectionnez Global: Text area
- Contenu :
<div class="no-results"> <h3>Aucun produit trouvé</h3> <p>Essayez de modifier vos critères de recherche.</p> <a href="/shop" class="btn">Voir tous les produits</a></div>- Format : Full HTML (ou Basic HTML)
- Apply
📱 Page Settings
Section intitulée « 📱 Page Settings »- Dans Page Settings :
| Paramètre | Valeur |
|---|---|
| Path | /shop |
| Menu | Normal menu entry |
| Menu link title | Boutique |
| Parent | <Main navigation> |
| Weight | 0 |
- Apply
- Cliquez sur Access → Permission
- Gardez View published content
- Apply
🎨 Classes CSS personnalisées
Section intitulée « 🎨 Classes CSS personnalisées »Wrapper de la vue
Section intitulée « Wrapper de la vue »- Dans Advanced (colonne de droite), cliquez sur CSS class
- Ajoutez :
products-catalog shop-grid - Apply
Row class
Section intitulée « Row class »- Dans Format → Grid → Settings
- Row class :
products-row - Column class :
product-col
💾 Sauvegarder et tester
Section intitulée « 💾 Sauvegarder et tester »- Cliquez sur Save
- Visitez
/shoppour voir le résultat
Aperçu attendu
Section intitulée « Aperçu attendu »┌─────────────────────────────────────────────────────────┐│ Boutique ││ Affichage de 1 à 12 sur 15 produits │├─────────────────────────────────────────────────────────┤│ ││ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ││ │ Prod 1 │ │ Prod 2 │ │ Prod 3 │ │ Prod 4 │ ││ │ Nike │ │ Adidas │ │ Puma │ │ Levi's │ ││ │ 119.99 │ │ 35.99 │ │ 69.99 │ │ 89.99 │ ││ └────────┘ └────────┘ └────────┘ └────────┘ ││ ││ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ││ │ Prod 5 │ │ Prod 6 │ │ Prod 7 │ │ Prod 8 │ ││ │ ... │ │ ... │ │ ... │ │ ... │ ││ └────────┘ └────────┘ └────────┘ └────────┘ ││ ││ [« Premier] [‹ Précédent] 1 2 [Suivant ›] ││ │└─────────────────────────────────────────────────────────┘🔧 Alternative : Affichage par champs
Section intitulée « 🔧 Alternative : Affichage par champs »Si vous préférez un contrôle total sur l’affichage :
Utilise le view mode “Card” configuré dans Manage display. Avantage : Cohérence, maintenance centralisée.
- Changez Show → Fields
- Supprimez les champs par défaut
- Ajoutez manuellement :
| Champ | Label | Formatter |
|---|---|---|
| Content: Product Image | Hidden | Image (Card) |
| Content: Category | Hidden | Label |
| Content: Title | Hidden | Link to content |
| Content: Brand | Hidden | Label |
| Content: Price | Hidden | Default |
- Pour chaque champ, configurez le wrapper et les classes CSS
Avantage : Flexibilité totale. Inconvénient : Plus de maintenance.
📤 Export de configuration
Section intitulée « 📤 Export de configuration »# Exporter la vuedrush cex -y
# Vérifier le fichier créécat config/sync/views.view.products_catalog.yml | head -50🎯 Créer le display Block
Section intitulée « 🎯 Créer le display Block »Ajoutons un bloc “Produits récents” pour la sidebar.
- Dans l’interface Views, cliquez sur +Add dans les displays
- Sélectionnez Block
- Configurez :
| Paramètre | Valeur |
|---|---|
| Display name | Block - Produits récents |
| Block admin title | Produits récents |
- Override les paramètres suivants :
- Title :
Nouveautés - Format :
Unformatted listofRendered entity - View mode :
Mini(ou Teaser) - Pager :
Display a specified number of items:4
- Save
Placer le bloc
Section intitulée « Placer le bloc »- Structure → Block layout
- Dans la région Sidebar first, cliquez Place block
- Cherchez “Produits récents”
- Configurez la visibilité si nécessaire
- Save block
✅ Checklist
Section intitulée « ✅ Checklist »Avant de continuer :
- Vue
products_catalogcréée - Page accessible à
/shop - Grille 4 colonnes
- Compteur de résultats dans le header
- Pagination avec labels français
- Message “Aucun produit” configuré
- Lien dans le menu principal
- (Optionnel) Bloc “Produits récents” créé
🔜 Prochaine étape
Section intitulée « 🔜 Prochaine étape »Le catalogue est fonctionnel ! Ajoutons les Filtres exposés pour permettre aux utilisateurs de filtrer les produits.