Drupal模块节点类型创建.install vs .module

时间:2013-07-23 10:25:22

标签: drupal drupal-7 drupal-modules

浏览网络超过一个小时后,我的问题仍然存在。 在模块中创建节点类型的“正确”方法是什么。

.install: hook_install()为您提供了使用node_type_save()钩子创建node_types的可能性......

.module 使用hook_node_info()可以添加节点类型。

这两种方法的优点和缺点是什么?实际上有不同吗?卸载模块时会发生什么?如何在两种情况下管理更新? drupal文档对我来说并没有真正的帮助:(

1 个答案:

答案 0 :(得分:2)

您可以使用node_type_save()hook_node_info()创建node_types。

Drupal Core book模块在hook_install中创建它。但是更常见的做法是在hook_node_info()或hook_entity_info()中执行此操作(节点模块使用hook_entity_info())。

如果您使用hook_node_info()实施,那么您对drupal的工作方式更有抱怨。例如,node_type_rebuild()仅适用于hook_node_info()而非node_type_save()中定义的值。

Imo你应该使用hook_node_info()hook_entity_info()并让drupal核心来处理其余部分。