Estoy tratando de averiguar cómo los nodos se asignan a los campos que contienen con fines de aprendizaje. ¿Cómo se hace esto?Nodo Drupal 7 -> Asignación de campos en la base de datos
Respuesta
En Drupal 7 tiene entidades y campos; los campos están adjuntos a las entidades. Un nodo es una implementación de una entidad (el módulo de nodo implementa hook_entity_info()
y otros ganchos) para que pueda tener campos.
Todos los datos relacionales de campo/entidad se almacenan en las tablas field_data_field_x
y field_revision_field_x
o similar (estas últimas pueden almacenar las revisiones de datos de campo si las revisiones de nodo están habilitadas).
La columna entity_id
en esas tablas es la ID del nodo, y bundle
es el tipo de contenido del nodo. El revision_id
es el ID de revisión del nodo, de nuevo solo es realmente útil si las revisiones de nodo están habilitadas.
ACTUALIZACIÓN
En la terminología de Drupal un tipo de contenido es un bundle
y bundle
s están asociadas a las entidades (en este caso la entidad node
). Cuando crea un nuevo tipo de contenido, se almacena en la tabla node_type
, y cuando se borran las memorias caché (que invoca hook_entity_info
en todos los módulos) la función node_entity_info()
crea una lista de paquetes de los tipos de contenido (eche un vistazo al bit en esa función que comienza foreach (node_type_get_names() as $type => $name) {
, node_type_get_names
obtiene una lista de todos los tipos de contenido).
Como se discutió anteriormente, los campos se pueden adjuntar a las entidades, por lo que los campos se pueden unir a los nodos con un delta (si lo desea) de bundle
.
- 1. Obtener la URL de un nodo en Drupal 7
- 2. obtener la variable $ nodo en html.tpl.php - Drupal 7
- 3. Drupal 7 Cambiar el tipo de contenido del nodo existente
- 4. Drupal 7: Acceso al campo de nodo personalizado en page.tpl.php
- 5. Drupal 7 - Cómo insertar la marca de tiempo de Unix en la base de datos
- 6. Múltiples conexiones concurrentes de bases de datos en drupal 7
- 7. Drupal 7 - Insertar taxonomía en el objeto nodo
- 8. Cómo fusionar los cambios en la base de datos Drupal
- 9. campos de grupos por año Vistas Drupal 7
- 10. Prueba de la unidad Drupal con DrupalUnitTestCase falla en la configuración de la base de datos
- 11. Drupal: Vistas: cómo agrupar campos
- 12. Forma de nodo personalizado de Drupal
- 13. Drupal en Git, ¿qué hacer con la base de datos?
- 14. Renderizar un nodo de Drupal
- 15. Obtener ID de nodo dentro de la plantilla de bloque con Drupal 7
- 16. ¿Cómo aplico la validación de formularios web en drupal 7?
- 17. Drupal 6 contraseña de usuario importada a Drupal 7
- 18. cómo anular el nodo de la página principal tpl - drupal
- 19. Módulo Drupal 7 OpenID
- 20. ¿Debo usar Drupal 6 o Drupal 7?
- 21. Nodo de impresión Drupal de nid
- 22. Drupal 7 Default .htaccess
- 23. Uso de JQuery en Drupal 7
- 24. Drupal 7 Get image field path
- 25. Generar esquema de base de datos de la asignación NHibernate
- 26. MySQL: Recorte todos los campos en la base de datos
- 27. Drupal 7: Mejor práctica para una lista de selección dinámica en Drupal 7
- 28. Enganche de Drupal después del nodo creado
- 29. ¿Cuándo no utilizar un nodo Drupal?
- 30. Tamaño predeterminado para los campos de la base de datos
¿Cómo implementa un tipo de contenido que se crea en la GUI hook_entity_info? Entiendo cómo se almacenan los datos de campo, pero ¿cómo se crea el formulario? –
¿Es field_config_instance que define qué campos van con qué? –
@ChrisMuench: He actualizado la respuesta. Avíseme si necesita alguna aclaración, ¡es bastante complicado si no ha profundizado antes en los módulos centrales! – Clive