Pregunta:
Cuando vamos a la ruta /admin/structure/types/manage/article/fields
y usamos la opción Add new field
o la opción Add existing field
, ¿eso crea un campo, crea una instancia de campo o adjunta una instancia de campo? ¿Cómo diferenciarlos? Entonces, programáticamente, ¿cuándo usar field_create_field , field_create_instance y field_attach API?
En la documentación de la API de campo, solo menciona la interfaz de usuario de administración y nunca habla sobre la ruta donde crear tanto los campos como las instancias de campo. Entonces es confuso. Ni siquiera sé si tengo sentido.
Respuesta:
Un campo es la definición básica de un campo en sí. Una instancia de campo es una instancia de ese campo, adjunta a una entidad / paquete.
- Los campos se crean con field_create_field
- Instancias de campo, con field_create_instance
Para comprobar si el campo o la instancia existe, utilice
Cuando crea un campo a través de la interfaz de usuario, Drupal siempre crea una instancia de campo en esa entidad / paquete.
Si está agregando un campo existente, los datos del campo se clonan y se crea una instancia de campo en la nueva entidad / paquete.
Por último, la configuración de campo se aplica globalmente a ese campo, la configuración de instancia de campo puede variar entre paquetes de entidad.