如何在Drupal的其它页面中嵌入内容类型表单(content type form)

 

在Drupal中,我们创建一个内容时,通常使用这样的路径node/add/article,或者node/add/page,这里面的article和page,就是相应的内容类型,对应的页面,就是article和page这两个内容类型的表单页面。

现在,如果我想在别的Drupal页面中输出,article内容类型的表单(content type form),该怎么办呢?

在drupal 7中,我们使用这样的代码:

 

  $form['title'] = array(

    '#type' => 'textfield',

    '#title' => t('Title'),

    '#required' => TRUE,

  );

  $node = (object) array(

    'uid' => $user->uid,

    'name' => (isset($user->name) ? $user->name : ''),

    'type' => 'article',

    'language' => LANGUAGE_NONE

  );

 

  //$form = drupal_get_form('node_form',$node);

  field_attach_form('node', $node, $form, $form_state);

 

    这里使用了field_attach_form,同时将表单的标题,也加入了进来,这是一种办法,也是我比较喜欢的办法。此外,还有别的办法。Drupal中解决问题的方式很多,通常都是有多种办法的。后面有机会介绍另一种办法。

     field_attach_form在think in Drupal第4集的实体API(Entity API)一章有介绍。

 

Drupal版本: