Skip to content

Champs

This content is not available in your language yet.

Les champs (fields) sont les éléments de données qui composent vos types de contenu. Drupal propose de nombreux types de champs pour répondre à tous les besoins.

Drupal sépare la définition du stockage de l’instance du champ :

  • Field Storage : Définit le type de données et le stockage (une fois par champ)
  • Field Instance : Configure le champ pour un type de contenu spécifique

Cela permet de réutiliser un champ entre plusieurs types de contenu.

field_image (storage)
├── node.product.field_image (instance)
├── node.blog_article.field_image (instance)
└── taxonomy_term.brand.field_image (instance)
TypeDescriptionUsage
Texte (brut)Texte simple, une ligneTitre, code
Texte (brut, long)Texte simple, multi-lignesDescription simple
Texte (formaté)Avec éditeur WYSIWYGCorps d’article
Texte (formaté, long)WYSIWYG multi-lignesContenu riche
Texte (formaté, résumé)Avec résumé optionnelArticles blog
TypeDescriptionUsage
EntierNombre entierQuantité, stock
DécimalNombre avec décimales fixesPrix
FlottantNombre avec précision variableCoordonnées
TypeDescriptionUsage
Référence à un contenuLien vers un nœudProduits liés
Référence à un termeLien vers une taxonomieCatégorie
Référence à un utilisateurLien vers un userAuteur
Référence à un médiaLien vers un médiaImages
TypeDescriptionUsage
BooléenVrai/FauxEn stock, Actif
DateDate et/ou heureÉvénement
EmailAdresse emailContact
LienURL avec titreCTA, menu
TéléphoneNuméro de téléphoneContact
Liste (texte)Valeurs prédéfiniesStatut
  1. Aller à /admin/structure/types/manage/product/fields
  2. Cliquer sur Ajouter un champ
  1. Créer le champ

    • Type : Nombre > Décimal
    • Label : Prix
    • Identifiant machine : field_price
  2. Configuration du stockage

    • Précision : 10
    • Échelle : 2 (pour les centimes)
  3. Paramètres du champ

    • Requis : ✅
    • Valeur minimum : 0
    • Préfixe : € (ou configurer en affichage)
  4. Enregistrer

  1. Créer le champ

    • Type : Nombre > Décimal
    • Label : Prix soldé
    • Identifiant machine : field_sale_price
  2. Configuration du stockage

    • Précision : 10
    • Échelle : 2
  3. Paramètres du champ

    • Requis : ❌
    • Valeur minimum : 0
    • Texte d’aide : “Laisser vide si pas de promotion”
  4. Enregistrer

  1. Créer le champ

    • Type : Texte > Texte (brut)
    • Label : Code produit (SKU)
    • Identifiant machine : field_sku
  2. Configuration du stockage

    • Longueur maximale : 50
  3. Paramètres du champ

    • Requis : ✅
    • Texte d’aide : “Code unique du produit”
  4. Enregistrer

  1. Créer le champ

    • Type : Référence > Média
    • Label : Images
    • Identifiant machine : field_images
  2. Configuration du stockage

    • Type de média : Image
    • Nombre de valeurs : Illimité
  3. Paramètres du champ

    • Requis : ✅
    • Texte d’aide : “Ajoutez au moins une image du produit”
  4. Enregistrer

  1. Créer le champ

    • Type : Booléen
    • Label : Disponibilité
    • Identifiant machine : field_availability
  2. Paramètres du champ

    • Label activé : En stock
    • Label désactivé : Rupture de stock
    • Valeur par défaut : ✅ Coché
  3. Enregistrer

  1. Créer le champ

    • Type : Texte > Texte (brut)
    • Label : Matière
    • Identifiant machine : field_material
  2. Configuration du stockage

    • Longueur maximale : 255
  3. Paramètres du champ

    • Requis : ❌
    • Placeholder : “Ex: 100% coton”
  4. Enregistrer

Ces champs référencent des taxonomies que nous créerons à l’Étape 3 :

ChampRéférence versCardinalité
field_categoryCatégorie ProduitMultiple
field_brandMarqueSimple
field_sizesTailleMultiple
field_colorsCouleurMultiple

📝 Ajouter les champs du type “Article de Blog”

Section intitulée « 📝 Ajouter les champs du type “Article de Blog” »
  1. Réutiliser ou créer

    • Si field_image existe déjà : “Réutiliser un champ existant”
    • Sinon : Type Référence > Média
  2. Paramètres

    • Requis : ✅
    • Nombre de valeurs : 1
  3. Enregistrer

  1. Créer le champ

    • Type : Texte > Texte (brut)
    • Label : Titre du slide
    • Identifiant machine : field_title
  2. Paramètres

    • Requis : ✅
    • Longueur maximale : 255
  3. Enregistrer

  1. Créer le champ

    • Type : Texte > Texte (brut, long)
    • Label : Sous-titre
    • Identifiant machine : field_subtitle
  2. Paramètres

    • Requis : ❌
  3. Enregistrer

Réutilisez le champ média créé pour les articles.

  1. Créer le champ

    • Type : Lien
    • Label : Lien
    • Identifiant machine : field_link
  2. Paramètres

    • Types de liens autorisés : ✅ Interne ✅ Externe
    • Autoriser le texte du lien : ✅
  3. Enregistrer

  1. Créer le champ

    • Type : Texte > Texte (brut)
    • Label : Texte du bouton
    • Identifiant machine : field_cta_text
  2. Paramètres

    • Requis : ❌
    • Valeur par défaut : “Découvrir”
  3. Enregistrer

OptionDescription
1Une seule valeur
2, 3…Nombre fixe
IllimitéAutant que voulu

Chaque type de champ a des widgets différents :

ChampWidgets disponibles
TexteTextfield, Textarea
RéférenceAutocomplete, Select, Checkboxes, Radios
BooléenCheckbox, Radio buttons
MédiaMedia Library, File upload

Pour l’affichage, chaque champ a des formateurs :

ChampFormateurs
TexteDefault, Trimmed, Summary
NombreDefault, avec préfixe/suffixe
RéférenceLabel, Entity, Rendered entity
BooléenDefault, Yes/No, Custom
ImageImage, URL, Responsive
ChampTypeRequisCardinalité
titleTexte1
bodyTexte formaté1
field_imagesMédia
field_priceDécimal1
field_sale_priceDécimal1
field_skuTexte1
field_availabilityBooléen1
field_materialTexte1
field_categoryTaxonomie
field_brandTaxonomie1
field_sizesTaxonomie
field_colorsTaxonomie
ChampTypeRequisCardinalité
titleTexte1
bodyTexte formaté1
field_imageMédia1
field_blog_categoryTaxonomie1
ChampTypeRequisCardinalité
field_titleTexte1
field_subtitleTexte long1
field_imageMédia1
field_linkLien1
field_cta_textTexte1
Fenêtre de terminal
drush cex -y
git add config/sync/field.*.yml
git commit -m "feat: add fields for product, blog_article and slide"

Passez aux Modes d’affichage pour configurer comment les contenus sont affichés.