欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal 7 获取网站中的实体(entity)类型信息和字段(field)类型信息

shiping1 的头像

1.获取Entity信息

在Drupal的API提供了获取网站中存在的实体(Entity)信息。在Drupal中实体是一个完整的表示信息的块,如:node、comment、user 、forum等,它们在Drupal中都被看作是一个实体,拥有自己的属性,这些实体和它们的属性保存在数据库中。

entity_get_info()函数用于获得实体类型信息数组(这些实体信息在模块中通过hook_entity_info()函数定义)。它只有一个参数$entity_type,该参数为要查看的Drupal实体类型的名字。如果不提供任何Drupal实体类型的名字,该参数将使用默认值NULL,这时函数将返回所有Drupal实体类型信息数组。

如下为查询实例:

//返回节点实体类型信息数组
dpm(entity_get_info('node'));

//返回评论实体类型信息数组
dpm(entity_get_info('comment'));

//返回所有实体类型信息数组
dpm(entity_get_info());

dpm()为Devel模块中的函数,使用dpm(entity_get_info());函数的查询结果如下:

2.获取Field信息

在每种内容类型中都会有很多字段组成,在创建新的内容类型时,有可能会添加新的字段类型。当创建了这些字段类型,这些字段类型被保存在数据库表field_config中,这些字段可以是node中的标题,body,或者是comment中的body和标题等。

field_info_field_types()函数用于查看字段类型信息数组(可以使用hook_field_info()函数在模块中定义字段,也可以在内容类型的图形界面中添加字段)。它只有一个参数$field_type。该参数为Drupal字段类型的名字。如果不提供任何Drupal字段类型的名字,该参数将使用默认值NULL,这时函数将返回所有Drupal字段类型信息数组。

如下为查询实例:

//返回文本字段类型信息数组
dpm(field_info_field_types('text'));

//返回图像字段类型信息数组
dpm(field_info_field_types('image'));

//返回所有字段类型信息数组
dpm(field_info_field_types());

dpm()为Devel模块中的函数,使用dpm(field_info_field_types());函数的查询结果如下:



来自  http://www.ensin.cn/tech/drupal/get-entity-field-info.html

普通分类: