开发者

Drupal 7 Node --> Fields Mapping In Database

开发者 https://www.devze.com 2023-04-13 07:30 出处:网络
I am trying to figure out how nodes are mapped back to the fields they contain for learning purposes. How is thi开发者_JAVA技巧s done?In Drupal 7 you have entities and fields; fields are attached to e

I am trying to figure out how nodes are mapped back to the fields they contain for learning purposes. How is thi开发者_JAVA技巧s done?


In Drupal 7 you have entities and fields; fields are attached to entities. A node is an implementation of an entity (the node module implements hook_entity_info() and other such hooks) so it can have fields.

All field/entity relational data is stored in the tables field_data_field_x and field_revision_field_x or similar (the latter potentially storing revisions of field data if node revisions are enabled).

The entity_id column in those tables is the node's ID, and the bundle is the node's content type. The revision_id is the revision ID of the node, again only really useful if node revisions are enabled.

UPDATE

In Drupal terminology a content type is a bundle and bundles are attached to entities (in this case the node entity). When you create a new content type it gets stored in the node_type table, and when the caches are cleared (which invokes hook_entity_info on all modules) the node_entity_info() function builds up a list of bundles from the content types (have a look at the bit in that function that starts foreach (node_type_get_names() as $type => $name) {, node_type_get_names gets a list of all content types).

As discussed above fields can be attached to entities, so fields can be attached to nodes with a delta (if you like) of bundle.


In D7, for my case field_config_instance table provided me the required info.

0

精彩评论

暂无评论...
验证码 换一张
取 消