欢迎各位兄弟 发布技术文章
这里的技术是共享的
在commons.inc文件中,定义了一组与实体相关的API函数:
函数名 | 用途描述 |
entity_create_stub_entity | 帮助函数,用来组装一个带有初始ids的对象结构。 |
entity_extract_ids | 帮助函数,用来从一个实体中提取id、vid、bundle等信息。 |
entity_form_field_validate | 把字段API验证附加到实体表单上。 |
entity_form_submit_build_entity | 对于简单的实体表单,这个函数可以用来将表单提交的值复制到实体属性上面来。 |
entity_get_controller | 获取某一实体类型的实体控制器类。 |
entity_get_info | 获取某一实体类型的实体信息数组。 |
entity_info_cache_clear | 重置有关实体类型的缓存信息。 |
entity_label | 返回实体的标签。 |
entity_language | 返回实体的语言。 |
entity_load | 从数据库中加载实体。 |
entity_load_unchanged | 从数据库中加载未被修改了的实体。 |
entity_prepare_view | 用来触发钩子hook_entity_prepare_view() |
entity_uri | 返回实体的URI元素。 |
我们看到,Drupal7里面,与实体相关的API函数放在了commons.inc文件中,这是一个权宜之计。在Drupal8里面,这些相关的函数都被放到了entity.inc文件中去了。
Drupal核心,包含了与实体相关的钩子函数,这些钩子函数,允许我们在实体生命周期的各个不同阶段,与之交互。我们来看一下这些钩子函数。我们可以在system模块里面的system.api.php文件中,找到这些钩子函数。
钩子 | 描述 |
hook_entity_delete | 实体删除时,用来交互的钩子。 |
hook_entity_info | 这个钩子可以用来定义一个或者多个实体类型。 |
hook_entity_info_alter | 用来修改hook_entity_info里面的定义信息。 |
hook_entity_insert | 实体插入时,用来交互的钩子。 |
hook_entity_load | 实体加载时,用来交互的钩子。 |
hook_entity_prepare_view | 准备显示实体时,用来交互的钩子。 |
hook_entity_presave | 在保存实体前,用来交互的钩子。 |
hook_entity_query_alter | 用来修改或者执行一个EntityFieldQuery。 |
hook_entity_update | 实体更新时,用来交互的钩子。 |
hook_entity_view | 在实体正在组装时,呈现(render)之前,用来交互的钩子。 |
hook_entity_view_alter | 用来修改ENTITY_view()的结果。 |
hook_entity_view_mode_alter | 用来修改正被显示的实体的查看模式。 |