Aller au contenu

Modes d'affichage

Les modes d’affichage (view modes) et modes de formulaire (form modes) permettent de définir différentes présentations pour un même contenu.

Les view modes définissent comment afficher un contenu selon le contexte :

View ModeUsage typique
Full (Complet)Page complète du contenu
TeaserListe, résumé
CardGrille de produits
Search resultRésultats de recherche

Les form modes définissent comment éditer un contenu selon le contexte :

Form ModeUsage typique
DefaultFormulaire complet
Quick editÉdition rapide
RegisterInscription simplifiée

Pour notre boutique, nous aurons besoin de :

View ModeUsageChamps affichés
FullPage produitTous les champs
TeaserListe boutiqueImage, titre, prix
CardGrille accueilImage, titre, catégorie, prix
View ModeUsageChamps affichés
FullPage articleTous les champs
TeaserListe blogImage, titre, extrait
CardAccueilImage, catégorie, titre, extrait
View ModeUsageChamps affichés
FullCarrouselImage, titre, sous-titre, CTA
  1. Aller à Structure > Modes d’affichage (/admin/structure/display-modes)

  2. Cliquer sur Modes d’affichage de l’entité Contenu

  3. Cliquer sur Ajouter un mode d’affichage contenu

  4. Remplir les informations :

    • Nom : Card
    • Identifiant machine : card
  5. Enregistrer

Nous allons créer un mode “Card” pour afficher les produits en grille :

  1. Aller à /admin/structure/display-modes/view

  2. Ajouter un mode pour “Contenu” :

    • Nom : Card
    • Machine name : card
  3. Enregistrer

  1. Aller à /admin/structure/types/manage/product/display
  2. Vous voyez les onglets pour chaque view mode actif
  1. Descendre jusqu’à Modes d’affichage personnalisés

  2. Cocher les modes à activer :

    • ✅ Teaser
    • ✅ Card
    • ✅ Full (toujours actif)
  3. Enregistrer

Accédez à l’onglet Par défaut (Full) :

  1. Organiser les champs (glisser-déposer)

    Ordre recommandé :

    1. field_images
    2. field_price
    3. field_sale_price
    4. field_availability
    5. body
    6. field_material
    7. field_category
    8. field_brand
    9. field_sizes
    10. field_colors
  2. Masquer les champs inutiles

    Glissez vers la section “Désactivé” :

    • field_sku (visible ailleurs)
    • Liens (géré manuellement)
  3. Configurer les formateurs

    ChampFormateurOptions
    field_imagesMediaRendered entity, view mode: Full
    field_priceDefaultPréfixe: €, Décimales: 2
    field_sale_priceDefaultPréfixe: €, Décimales: 2
    field_availabilityBooleanYes/No personnalisé
    field_categoryLabelLink: Yes
    field_brandLabelLink: Yes
  4. Enregistrer

  1. Cliquer sur l’onglet Teaser

  2. Champs affichés (ordre) :

    1. field_images (formateur: Image, style: Medium)
    2. title (lien vers le contenu)
    3. field_price
    4. field_sale_price
  3. Champs masqués :

    • body
    • field_sku
    • field_material
    • field_availability
    • field_category
    • field_brand
    • field_sizes
    • field_colors
  4. Enregistrer

  1. Cliquer sur l’onglet Card

  2. Champs affichés :

    1. field_images (Image, style: Thumbnail)
    2. field_category (Label, sans lien)
    3. title (Lien)
    4. field_price
    5. field_sale_price
  3. Tous les autres champs masqués

  4. Enregistrer

ChampFormateurPosition
field_imageMedia (Full)1
field_blog_categoryLabel (Link)2
bodyDefault3
ChampFormateurPosition
field_imageImage (Medium)1
field_blog_categoryLabel2
titleLink3
bodyTrimmed (100 chars)4
ChampFormateurPosition
field_imageMedia (Full)1
field_titleDefault2
field_subtitleDefault3
field_linkLink4
field_cta_textDefault5
  1. Aller à /admin/structure/types/manage/product/form-display
  1. Ordre des champs (recommandé) :

    1. title
    2. field_sku
    3. field_images
    4. body
    5. field_price
    6. field_sale_price
    7. field_availability
    8. field_material
    9. field_category
    10. field_brand
    11. field_sizes
    12. field_colors
  2. Configurer les widgets :

    ChampWidgetOptions
    field_imagesMedia libraryMultiple
    field_availabilitySingle checkbox-
    field_categoryCheckboxes-
    field_brandSelect-
    field_sizesCheckboxes-
    field_colorsCheckboxes-
  3. Enregistrer

Les styles d’images définissent les dimensions des images affichées.

StyleDimensions
Thumbnail100×100
Medium220×220
Large480×480
  1. Aller à /admin/config/media/image-styles

  2. Cliquer sur Ajouter un style d’image

  3. Créer les styles pour TailStore :

    Product Card (300×400) :

    • Effet : Scale and crop
    • Largeur : 300
    • Hauteur : 400

    Product Gallery (600×800) :

    • Effet : Scale and crop
    • Largeur : 600
    • Hauteur : 800

    Slider Full (1920×800) :

    • Effet : Scale and crop
    • Largeur : 1920
    • Hauteur : 800
  4. Enregistrer chaque style

Dans la configuration d’affichage :

  1. Cliquez sur l’engrenage du champ image
  2. Sélectionnez le style d’image
  3. Enregistrez

Les configurations sont stockées dans :

config/sync/
├── core.entity_view_display.node.product.default.yml
├── core.entity_view_display.node.product.teaser.yml
├── core.entity_view_display.node.product.card.yml
├── core.entity_form_display.node.product.default.yml
└── image.style.product_card.yml

Exemple core.entity_view_display.node.product.card.yml :

langcode: fr
status: true
dependencies:
config:
- field.field.node.product.field_images
- field.field.node.product.field_price
- node.type.product
module:
- media
- user
id: node.product.card
targetEntityType: node
bundle: product
mode: card
content:
field_images:
type: media_thumbnail
label: hidden
settings:
image_style: product_card
weight: 0
field_price:
type: number_decimal
label: hidden
settings:
prefix_suffix: true
weight: 3
title:
type: string
label: hidden
settings:
link_to_entity: true
weight: 2
hidden:
body: true
field_availability: true
# ...
Fenêtre de terminal
drush cex -y
git add config/sync/core.entity_view_display.*.yml
git add config/sync/core.entity_form_display.*.yml
git add config/sync/image.style.*.yml
git commit -m "feat: configure view modes and form displays"

Testez vos configurations :

  1. Créez un produit test
  2. Visualisez-le en mode “Full” (page complète)
  3. Vérifiez le mode “Teaser” dans une vue
  4. Vérifiez le mode “Card” dans une grille

Passez à la gestion des Médias pour configurer la bibliothèque de médias.