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.
🤔 Concepts clés
Section intitulée « 🤔 Concepts clés »Field Storage vs Field Instance
Section intitulée « Field Storage vs Field Instance »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)📋 Types de champs disponibles
Section intitulée « 📋 Types de champs disponibles »| Type | Description | Usage |
|---|---|---|
| Texte (brut) | Texte simple, une ligne | Titre, code |
| Texte (brut, long) | Texte simple, multi-lignes | Description simple |
| Texte (formaté) | Avec éditeur WYSIWYG | Corps d’article |
| Texte (formaté, long) | WYSIWYG multi-lignes | Contenu riche |
| Texte (formaté, résumé) | Avec résumé optionnel | Articles blog |
| Type | Description | Usage |
|---|---|---|
| Entier | Nombre entier | Quantité, stock |
| Décimal | Nombre avec décimales fixes | Prix |
| Flottant | Nombre avec précision variable | Coordonnées |
Références
Section intitulée « Références »| Type | Description | Usage |
|---|---|---|
| Référence à un contenu | Lien vers un nœud | Produits liés |
| Référence à un terme | Lien vers une taxonomie | Catégorie |
| Référence à un utilisateur | Lien vers un user | Auteur |
| Référence à un média | Lien vers un média | Images |
| Type | Description | Usage |
|---|---|---|
| Booléen | Vrai/Faux | En stock, Actif |
| Date | Date et/ou heure | Événement |
| Adresse email | Contact | |
| Lien | URL avec titre | CTA, menu |
| Téléphone | Numéro de téléphone | Contact |
| Liste (texte) | Valeurs prédéfinies | Statut |
🛍️ Ajouter les champs du type “Produit”
Section intitulée « 🛍️ Ajouter les champs du type “Produit” »Accéder à la gestion des champs
Section intitulée « Accéder à la gestion des champs »- Aller à
/admin/structure/types/manage/product/fields - Cliquer sur Ajouter un champ
Champ : Prix (field_price)
Section intitulée « Champ : Prix (field_price) »-
Créer le champ
- Type : Nombre > Décimal
- Label : Prix
- Identifiant machine :
field_price
-
Configuration du stockage
- Précision : 10
- Échelle : 2 (pour les centimes)
-
Paramètres du champ
- Requis : ✅
- Valeur minimum : 0
- Préfixe : € (ou configurer en affichage)
-
Enregistrer
Champ : Prix soldé (field_sale_price)
Section intitulée « Champ : Prix soldé (field_sale_price) »-
Créer le champ
- Type : Nombre > Décimal
- Label : Prix soldé
- Identifiant machine :
field_sale_price
-
Configuration du stockage
- Précision : 10
- Échelle : 2
-
Paramètres du champ
- Requis : ❌
- Valeur minimum : 0
- Texte d’aide : “Laisser vide si pas de promotion”
-
Enregistrer
Champ : Code produit (field_sku)
Section intitulée « Champ : Code produit (field_sku) »-
Créer le champ
- Type : Texte > Texte (brut)
- Label : Code produit (SKU)
- Identifiant machine :
field_sku
-
Configuration du stockage
- Longueur maximale : 50
-
Paramètres du champ
- Requis : ✅
- Texte d’aide : “Code unique du produit”
-
Enregistrer
Champ : Images (field_images)
Section intitulée « Champ : Images (field_images) »-
Créer le champ
- Type : Référence > Média
- Label : Images
- Identifiant machine :
field_images
-
Configuration du stockage
- Type de média : Image
- Nombre de valeurs : Illimité
-
Paramètres du champ
- Requis : ✅
- Texte d’aide : “Ajoutez au moins une image du produit”
-
Enregistrer
Champ : Disponibilité (field_availability)
Section intitulée « Champ : Disponibilité (field_availability) »-
Créer le champ
- Type : Booléen
- Label : Disponibilité
- Identifiant machine :
field_availability
-
Paramètres du champ
- Label activé : En stock
- Label désactivé : Rupture de stock
- Valeur par défaut : ✅ Coché
-
Enregistrer
Champ : Matière (field_material)
Section intitulée « Champ : Matière (field_material) »-
Créer le champ
- Type : Texte > Texte (brut)
- Label : Matière
- Identifiant machine :
field_material
-
Configuration du stockage
- Longueur maximale : 255
-
Paramètres du champ
- Requis : ❌
- Placeholder : “Ex: 100% coton”
-
Enregistrer
Champs de référence (Taxonomie)
Section intitulée « Champs de référence (Taxonomie) »Ces champs référencent des taxonomies que nous créerons à l’Étape 3 :
| Champ | Référence vers | Cardinalité |
|---|---|---|
field_category | Catégorie Produit | Multiple |
field_brand | Marque | Simple |
field_sizes | Taille | Multiple |
field_colors | Couleur | Multiple |
📝 Ajouter les champs du type “Article de Blog”
Section intitulée « 📝 Ajouter les champs du type “Article de Blog” »Champ : Image (field_image)
Section intitulée « Champ : Image (field_image) »-
Réutiliser ou créer
- Si
field_imageexiste déjà : “Réutiliser un champ existant” - Sinon : Type Référence > Média
- Si
-
Paramètres
- Requis : ✅
- Nombre de valeurs : 1
-
Enregistrer
Champ : Catégorie Blog (field_blog_category)
Section intitulée « Champ : Catégorie Blog (field_blog_category) »🎠 Ajouter les champs du type “Slide”
Section intitulée « 🎠 Ajouter les champs du type “Slide” »Champ : Titre du slide (field_title)
Section intitulée « Champ : Titre du slide (field_title) »-
Créer le champ
- Type : Texte > Texte (brut)
- Label : Titre du slide
- Identifiant machine :
field_title
-
Paramètres
- Requis : ✅
- Longueur maximale : 255
-
Enregistrer
Champ : Sous-titre (field_subtitle)
Section intitulée « Champ : Sous-titre (field_subtitle) »-
Créer le champ
- Type : Texte > Texte (brut, long)
- Label : Sous-titre
- Identifiant machine :
field_subtitle
-
Paramètres
- Requis : ❌
-
Enregistrer
Champ : Image de fond (field_image)
Section intitulée « Champ : Image de fond (field_image) »Réutilisez le champ média créé pour les articles.
Champ : Lien (field_link)
Section intitulée « Champ : Lien (field_link) »-
Créer le champ
- Type : Lien
- Label : Lien
- Identifiant machine :
field_link
-
Paramètres
- Types de liens autorisés : ✅ Interne ✅ Externe
- Autoriser le texte du lien : ✅
-
Enregistrer
Champ : Texte du bouton (field_cta_text)
Section intitulée « Champ : Texte du bouton (field_cta_text) »-
Créer le champ
- Type : Texte > Texte (brut)
- Label : Texte du bouton
- Identifiant machine :
field_cta_text
-
Paramètres
- Requis : ❌
- Valeur par défaut : “Découvrir”
-
Enregistrer
🔧 Configuration avancée des champs
Section intitulée « 🔧 Configuration avancée des champs »Cardinalité (nombre de valeurs)
Section intitulée « Cardinalité (nombre de valeurs) »| Option | Description |
|---|---|
| 1 | Une seule valeur |
| 2, 3… | Nombre fixe |
| Illimité | Autant que voulu |
Widgets de formulaire
Section intitulée « Widgets de formulaire »Chaque type de champ a des widgets différents :
| Champ | Widgets disponibles |
|---|---|
| Texte | Textfield, Textarea |
| Référence | Autocomplete, Select, Checkboxes, Radios |
| Booléen | Checkbox, Radio buttons |
| Média | Media Library, File upload |
Formateurs d’affichage
Section intitulée « Formateurs d’affichage »Pour l’affichage, chaque champ a des formateurs :
| Champ | Formateurs |
|---|---|
| Texte | Default, Trimmed, Summary |
| Nombre | Default, avec préfixe/suffixe |
| Référence | Label, Entity, Rendered entity |
| Booléen | Default, Yes/No, Custom |
| Image | Image, URL, Responsive |
📊 Récapitulatif des champs créés
Section intitulée « 📊 Récapitulatif des champs créés »Type “Produit”
Section intitulée « Type “Produit” »| Champ | Type | Requis | Cardinalité |
|---|---|---|---|
| title | Texte | ✅ | 1 |
| body | Texte formaté | ❌ | 1 |
| field_images | Média | ✅ | ∞ |
| field_price | Décimal | ✅ | 1 |
| field_sale_price | Décimal | ❌ | 1 |
| field_sku | Texte | ✅ | 1 |
| field_availability | Booléen | ❌ | 1 |
| field_material | Texte | ❌ | 1 |
| field_category | Taxonomie | ❌ | ∞ |
| field_brand | Taxonomie | ❌ | 1 |
| field_sizes | Taxonomie | ❌ | ∞ |
| field_colors | Taxonomie | ❌ | ∞ |
Type “Article de Blog”
Section intitulée « Type “Article de Blog” »| Champ | Type | Requis | Cardinalité |
|---|---|---|---|
| title | Texte | ✅ | 1 |
| body | Texte formaté | ✅ | 1 |
| field_image | Média | ✅ | 1 |
| field_blog_category | Taxonomie | ❌ | 1 |
Type “Slide”
Section intitulée « Type “Slide” »| Champ | Type | Requis | Cardinalité |
|---|---|---|---|
| field_title | Texte | ✅ | 1 |
| field_subtitle | Texte long | ❌ | 1 |
| field_image | Média | ✅ | 1 |
| field_link | Lien | ❌ | 1 |
| field_cta_text | Texte | ❌ | 1 |
💾 Exporter la configuration
Section intitulée « 💾 Exporter la configuration »drush cex -ygit add config/sync/field.*.ymlgit commit -m "feat: add fields for product, blog_article and slide"🚀 Étape suivante
Section intitulée « 🚀 Étape suivante »Passez aux Modes d’affichage pour configurer comment les contenus sont affichés.