Skip to content

Catalogue produits

This content is not available in your language yet.

Nous allons créer la vue principale de la boutique, accessible à /shop.

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
  1. Allez dans StructureViewsAdd view

  2. Configuration initiale :

ChampValeur
View nameCatalogue Produits
Machine nameproducts_catalog
DescriptionListe des produits de la boutique
ShowContent
of typeProduct
tagged with(vide)
sorted byNewest first
ChampValeur
☑ Create a pageOui
Page titleBoutique
Path/shop
Display formatUnformatted list of teasers
Items per page12
  1. Cliquez sur Save and edit
  1. Cliquez sur Unformatted list dans la section FORMAT

  2. Sélectionnez Grid

  3. Apply

  4. Cliquez sur Settings à côté de Grid :

ParamètreValeur
Number of columns4
AlignmentHorizontal
Column classcol
Row classrow
  1. Apply
  1. Cliquez sur Fields (à côté de Grid)

  2. Changez pour Rendered entity

  3. Apply

  4. Cliquez sur Settings :

ParamètreValeur
View modeCard
  1. Apply

Vérifiez que ces filtres existent (ils devraient être par défaut) :

  1. Dans Filter Criteria, vous devriez voir :
    • Content: Publishing status = Published (Yes)
    • Content: Content type = Product

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
  1. Dans Header, cliquez sur Add
  2. Sélectionnez Result summary
  3. Configurez :
ParamètreValeur
DisplayDisplaying @start - @end of @total
  1. Personnalisez le texte :
Affichage de @start à @end sur @total produits
  1. Apply
  1. Cliquez sur le lien Mini dans PAGER

  2. Sélectionnez Paged output, full pager

  3. Apply

  4. Configurez les options :

ParamètreValeur
Items per page12
Offset0
Link to moreNo
  1. Dans More pager options :
ParamètreValeur
Expose items per pageNo
Pager ID0
Tags → First« Premier
Tags → Previous‹ Précédent
Tags → NextSuivant ›
Tags → LastDernier »
  1. Apply
  1. Vérifiez les Sort Criteria
  2. Gardez Content: Authored on (DESC)
  3. Nous ajouterons le tri exposé plus tard
  1. Dans No Results Behavior, cliquez sur Add
  2. Sélectionnez Global: Text area
  3. 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>
  1. Format : Full HTML (ou Basic HTML)
  2. Apply
  1. Dans Page Settings :
ParamètreValeur
Path/shop
MenuNormal menu entry
Menu link titleBoutique
Parent<Main navigation>
Weight0
  1. Apply
  1. Cliquez sur AccessPermission
  2. Gardez View published content
  3. Apply
  1. Dans Advanced (colonne de droite), cliquez sur CSS class
  2. Ajoutez : products-catalog shop-grid
  3. Apply
  1. Dans FormatGridSettings
  2. Row class : products-row
  3. Column class : product-col
  1. Cliquez sur Save
  2. Visitez /shop pour voir le résultat
┌─────────────────────────────────────────────────────────┐
│ 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 ›] │
│ │
└─────────────────────────────────────────────────────────┘

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.

Fenêtre de terminal
# Exporter la vue
drush cex -y
# Vérifier le fichier créé
cat config/sync/views.view.products_catalog.yml | head -50

Ajoutons un bloc “Produits récents” pour la sidebar.

  1. Dans l’interface Views, cliquez sur +Add dans les displays
  2. Sélectionnez Block
  3. Configurez :
ParamètreValeur
Display nameBlock - Produits récents
Block admin titleProduits récents
  1. Override les paramètres suivants :
  • Title : Nouveautés
  • Format : Unformatted list of Rendered entity
  • View mode : Mini (ou Teaser)
  • Pager : Display a specified number of items : 4
  1. Save
  1. StructureBlock layout
  2. Dans la région Sidebar first, cliquez Place block
  3. Cherchez “Produits récents”
  4. Configurez la visibilité si nécessaire
  5. Save block

Avant de continuer :

  • Vue products_catalog créé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éé

Le catalogue est fonctionnel ! Ajoutons les Filtres exposés pour permettre aux utilisateurs de filtrer les produits.