使用 Drupal API 函数 node_type_save($info) 可以为 Drupal 添加新的内容类型,使用这个API创建内容类型的主要工作,是构造一个包含内容类型所需要的信息的 $info 对象。
$info 对象中用到的成员有 type, name, module, has_title, title_label, has_body, body_label, description, help, min_word_count, custom, modified, locked, orig_type 等,以下是有关各个成员的说明:
新建内容类型的代码片段
<?php
function foo_node_type() {
// 定义数组
$info = array(
'type' => 'foo',
'name' => t('foo'),
'module' => 'node',
'description' => t('Blah Blah Blah...'),
'help' => '',
'min_word_count' => 0,
'custom' => TRUE,
'modified' => TRUE,
'locked' => FALSE
);
// 为 $info 数组中未定义的配置设置默认值
$info = (object) _node_type_set_defaults($info);
// 将新的内容类型写入数据库
node_type_save($info);
// 更新菜单.
menu_rebuild();
}
?>
与创建内容类型相对应,如果在卸载模块时希望删除创建的内容类型,可以使用 node_type_delete($type)
<?php
function foo_node_type_delete() {
// 删除机器名为 'foo' 的内容类型
node_type_delete('foo');
}
?>