2012-03-23 55 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

相关问题