Lorsque nous allons sur le chemin /admin/structure/types/manage/article/fields
et utilisez le Add new field
option ou Add existing field
option, cela crée-t-il un champ, crée-t-il une instance de champ ou attache-t-il une instance de champ? Comment les différencier? Donc, par programme, quand utiliser field_create_field , field_create_instance et l'API field_attach?
Dans la documentation de l'API de champ, il ne mentionne que l'interface utilisateur d'administration et ne parle jamais du chemin où créer les champs et les instances de champ. C'est donc déroutant. Je ne sais même pas si j'ai du sens.
Un champ est la définition de base d'un champ lui-même. Une instance de champ est une instance de ce champ, attachée à une entité/un bundle.
Pour vérifier si le champ ou l'instance existe, utilisez
Lorsque vous créez un champ via l'interface utilisateur, Drupal crée toujours une instance de champ sur cette entité/ce bundle.
Si vous ajoutez un champ existant, les données de champ sont clonées et une instance de champ est créée sur la nouvelle entité/bundle.
Enfin, les paramètres de champ s'appliquent globalement à ce champ, les paramètres d'instance de champ peuvent varier entre les ensembles d'entités.