Défilement
Les types de champs, widgets et formatteurs sont des plugins
Dans Drupal 8, tous les types de champs, widgets et formatteurs sont des plugins.
Ils sont automatiquement découverts s’ils sont placés dans la structure de répertoires attendue et utilisent la bonne annotation.
La structure de répertoire pour un module qui implémente les trois ressemble à ceci :
foo_bar_fields
- foo_bar_fields.info.yml
- src/
- Plugin/
- Field/
- FieldType/
- FooItem.php
- FieldFormatter/
- FooBarFormatter.php
- FieldWidget/
- FooBarWidget.php
- FieldType/
- Field/
- Plugin/
Dans ce tutoriel, nous allons créer un type de champ personnalisé, un formatteur de champ et un widget de champ qui génèrent une chaîne aléatoire et l’affichent.
Le module s’appellera random et aura cette structure :
random
- random.info.yml
- src/
- Plugin/
- Field/
- FieldType/
- RandomItem.php
- FieldFormatter/
- RandomDefaultFormatter.php
- FieldWidget/
- RandomDefaultWidget.php
- FieldType/
- Field/
- Plugin/