0

我正在尝试在 drupal 中创建节点/内容类型,因此我至少有一个 .info、.install 和 .module 文件。

该模块创建良好,我可以从模块管理页面启用/禁用它,此外,Drupal 能够将此模块识别为内容类型,并且当我在“内容”菜单中单击“添加内容”时它会出现。

一切正常,但它不显示表单元素,而是直接从在此处输入图像描述

表单元素代码如下:

function newNode_form($node,&$form_state) 
{ 
 $type = node_get_types('type',$node); 

 $form['title']= array( 
    '#type' => 'textfield',  
    '#title' => check_plain($type->title_label),  
    '#default_value' => !empty($node->title) ? $node->title : '',  
    '#required' => TRUE,  
    '#weight' => -5, 
  ); 

  $form['field1'] = array( 
    '#type' => 'textfield',  
    '#title' => t('Custom field'),  
    '#default_value' => $node->field1,  
    '#maxlength' => 127, 
  ); 
  $form['selectbox'] = array( 
    '#type' => 'select',  
    '#title' => t('Select box'),  
    '#default_value' => $node->selectbox,  
    '#options' => array( 
      1 => 'Option A',  
      2 => 'Option B',  
      3 => 'Option C', 
    ),  
    '#description' => t('Choose an option.'), 
  ); 
return $form; 
}

谁能告诉我出了什么问题

PS:仅供参考:在我的 .install 文件中,仅存在安装和卸载挂钩功能。我还没有创建数据库表,这个内容类型是我创建内容类型 UI 而不一定是完整的 UI 的演练。

4

1 回答 1

0

Drupal 的钩子系统使用小写和小写来动态加载模块函数。

<module name>_<hook_name>

尝试像这样声明你的函数:

function new_node_form($node, &$form_state) {
...
于 2011-12-26T18:43:33.847 回答