2010-12-05 14 views
0

私はカスタムコンテンツタイプを作成するモジュールで作業しているdrupalを学んでいます。すべてうまく動作します。カスタムノードを追加して更新できます。唯一正しく動作しないのは、ノードを編集するときに、2つのカスタムフィールドの#default_valueが表示されないということです。ここに私のhook_formだ:drupal:カスタムコンテンツタイプのフィールド#default_valueが表示されない

function mymodule_form(&$node, $form_state) { 
    $type = node_get_types('type', $node); 
    $form['title'] = array(
     '#type' => 'textfield', 
     '#title' => check_plain($type->title_label), 
     '#required' => TRUE, 
     '#default_value' => $node->title, 
     '#weight' => -5, 
    ); 
    $form['body'] = array(
    '#type' => 'textarea', 
    '#title' => check_plain($type->body_label), 
    '#rows' => 20, 
    '#default_value' => $node->body, 
    '#required' => TRUE, 
); 
    $form['other'] = array(
    '#type' => 'textfield', 
    '#title' => t('Other thingy'), 
    '#default_value' => $node->other, 
); 
    if ($node->type == 'chucky') { 
    $form['other2'] = array(
     '#type' => 'textfield', 
     '#title' => t('Other thingy 2'), 
     '#default_value' => $node->other2, 
    ); 
    } 
    return $form; 
} 

だから、2つのカスタムフィールドは、他とother2あり、それらの列はのmymoduleテーブルにあり、私はそれらの値を追加して更新することができます。しかし、それらは編集フォームのデフォルト値として再表示されません。

答えて

0

申し訳ありませんが、私は次のチュートリアルを読む必要があります。どうやら、あなたがhook_load()を使ってそれらを取得するまで、カスタムフィールドはノードオブジェクトの一部ではありません。今はうまく動作します。