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 ファイルには、インストールとアンインストールのフック関数しかありません。DB テーブルをまだ作成していません。このコンテンツ タイプは、コンテンツ タイプ UI を作成するためのウォークスルーであり、必ずしも本格的な UI ではありません。

4

1 に答える 1

0

Drupal のフック システムは、小文字とアンダー スコアを使用してモジュール関数を動的にロードします。

<module name>_<hook_name>

次のように関数を宣言してみてください。

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