2012-03-23 17 views
0

私はカスタムモジュールを開発中で、hook_form_FORM_ID_alterメソッドを使用しています。特定のページのブロック設定の可視性設定と同じオプションを指定しました。私は自分のモジュール用のデータベーステーブルも作成しました。私は、ユーザーが選択したオプションを、送信時にテーブルに格納する方法と、特定のメニューリンク用に選択したオプションをどのように保持するかについては何も分かりません。メニュー項目編集フォームにこの機能を追加しました。このようなDrupal 7 hook_form_FORM_ID_alter()Submit

答えて

3

何かがあなたが探しているものです:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) { 
    $form['my_val'] = array(
    '#type' => 'textfield', 
    '#title' => 'Some Text' 
); 

    $form['#submit'][] = 'MYMODULE_my_form_submit'; 
} 

function MYMODULE_my_form_submit(&$form, &$form_state) { 
    $val = $form_state['values']['my_val']; 
    db_insert('my_table')->fields(array('val' => $val))->execute(); 
} 

明らかに非常に基本的な例だが、それは、余分なフィールドを追加する方法を、既存のフォームに提出するハンドラを追加する方法を示します。すなわち、送信ハンドラでそのフィールドのデータを取得する方法について説明します。

+0

ありがとう、私はそれを持っていますが、drupal 7のために、私はsubmit関数がMYMODULE_submit($ form、&$ form_state) –