L'API field de Drupal 7

La documentation Drupal 6 n'est plus maintenue et en cours de dépublication.

Son but : gére les champs de données spécifiques attachés aux entités Drupal.

L'API Field permet d'attacher des champs particuliers de données aux entités Drupal et s'occupe de les stocker, les éditer et les afficher. Toutes les entités (node, user...) peuvent utiliser l'API Field pour devenir "fieldable" et donc permettre d'attacher des champs. D'autres modules peuvent fournir des interfaces utilisateur pour gérer ces champs particuliers via un navigateur, fournir d'autres types de données, des formulaires pour les éléments, et divers formats d'affichage.

L'API Field définit deux structures de données primaires, les champs et les instances, ainsi que le concept de bundle. Un champ définit un type particulier de données qui pourra être attaché à une entité. Le bundle est un type d'entité (node, user...) spécialisé notamment par les champs qui lui sont attachés. Une instance (de champ) est un champ attaché à un bundle. Plusieurs instances de champ peuvent être définies pour un même bundle. Le bundle est donc un ensemble de champs qui sont traités comme un groupe (paquet, bundle) par l'API Field Attach et ce bundle est défini pour un unique type d'entité (node, user...)

Par exemple, supposons qu'un administrateur veuille que les noeuds de type "article", aient un sous-titre et une photo. En utilisant le module "Field UI", l'administrateur crée un champ nommé "sous-titre" de type texte et un champ nommé "photo" de type image. Ensuite, l'adminstrateur crée deux instances, l'une attachant le champ "sous-titre" au bundle "article" et l'autre lui attachant le champ "photo" . Lorsque le système utilise l'API "Field" pour charger tous les champs pour un noeud de type "article", il transmet le type d'entité du noeud (node) et le type de contenu (article) comme bundle, et field_attach_load() charge alors les champs "sous-titre" et "photo" car ils sont tous deux attachés au bundle article.

Version de Drupal :