2011-12-23 20 views
0

drupalでノード/コンテンツタイプを作成しようとしているため、最小限の.info、.install、および.moduleファイルがあります。Drupal 7のノード/コンテンツタイプのフォームが表示されない

モジュールが正常に作成され、モジュール管理ページからモジュールを有効/無効にできます。また、Drupalはこのモジュールをコンテンツタイプとして認識することができます。コンテンツで[コンテンツを追加]をクリックすると表示されますメニュー。

すべてが正常に動作しますが、それはフォーム要素を示していない、むしろそれは、フォーム要素のコードを以下にリストされているenter image description here

で直接起動します:

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:ちょうどFYI:私の.installファイルには、インストールとアンインストールのフック機能しかありません。 DBテーブルをまだ作成していないので、このコンテンツタイプはコンテンツタイプのUIを作成するためのウォークスルーであり、必ずしも完全なUIである必要はありません。

答えて

0

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

<module name>_<hook_name> 

はこのように、あなたの関数を宣言してみてください。

function new_node_form($node, &$form_state) { 
... 
+0

いや、しかし、あなたの答えが間違っている、助けのためのおかげで、私はそれを考え出しました。モジュールの名前はnewNodeなので、new_node命名用語を得ることは解決策ではありません。答えは、これがPre-Drupal 7戦略であり、Drupal 7ノードのインストール方法ではないということです。関係なくお手伝いをありがとう。 –

関連する問題