2012-03-23 65 views
0

我正在開發自定義模塊並使用hook_form_FORM_ID_alter方法。我已經提供了與特定頁面的塊配置可見性設置相同的選項。我也爲我的模塊創建了一個數據庫表。我不明白用戶選擇的選項在提交時應如何存儲在我的表格中,以及如何保留爲特定菜單鏈接選擇的選項。我已經在菜單項編輯窗體中添加了這個功能。Drupal 7 hook_form_FORM_ID_alter()提交

回答

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我認爲提交函數應該是MYMODULE_submit($ form,&$ form_state) – 2012-03-27 05:54:50