使用 Drupal API 创建内容类型

  在创建 Drupal 模块或 Drupal 安装配置文件(Installation Profiles)时,有时需要通过 API 创建内容类型,以下代码代码包含了构造内容类型对象以及使用 node_type_save() 向 Drupal 中添加内容类型的用法。

<?php
  
// Insert default user-defined node types into the database. For a complete
  // list of available node type attributes, refer to the node type API
  // documentation at: http://api.drupal.org/api/HEAD/function/hook_node_info.
  
$types = array(
    array(
      
'type' => 'page',
      
'name' => st('Page'),
      
'module' => 'node',
      
'description' => st("A <em>page</em>, similar in form to a <em>story</em>, is a simple method for creating and displaying information that rarely changes, such as an \"About us\" section of a website. By default, a <em>page</em> entry does not allow visitor comments and is not featured on the site's initial home page."),
      
'custom' => TRUE,
      
'modified' => TRUE,
      
'locked' => FALSE,
      
'help' => '',
      
'min_word_count' => '',
    ),
    array(
      
'type' => 'story',
      
'name' => st('Story'),
      
'module' => 'node',
      
'description' => st("A <em>story</em>, similar in form to a <em>page</em>, is ideal for creating and displaying content that informs or engages website visitors. Press releases, site announcements, and informal blog-like entries may all be created with a <em>story</em> entry. By default, a <em>story</em> entry is automatically featured on the site's initial home page, and provides the ability to post comments."),
      
'custom' => TRUE,
      
'modified' => TRUE,
      
'locked' => FALSE,
      
'help' => '',
      
'min_word_count' => '',
    ),
  );

  foreach (
$types as $type) {
    
$type = (object) _node_type_set_defaults($type);
    
node_type_save($type);
  }
?>


付费阅读