我有一个链接到MySQL数据库的网站;我的数据库有一个表'用户',它的结构很好,已经与一些桌面应用程序集成(即无法更改)。
我刚刚使用Webform模块设置了Drupal并克隆了我的注册表单。 Drupal版本当然在内部以不同的方式存储所有内容,我的挑战是让我的Drupal webform保存到我现有的结构良好的数据库中。
我的webform.api.php文件中有一个hook_webform_component_presave函数,我相信它会保存,我应该拦截这里的调用并调用我自己的数据库吗?
答案 0 :(得分:0)
您可以像这样更改表单的提交操作(当然是从您的模块中):
function your-module-name_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'your-form-id'){
$form['#submit'][]='save_users';
}
}
function save_users($form, &$form_state){
// Do your user saving magic here
}
实际上,这种方式是将您的功能添加为额外功能。还将调用默认值(因为这种方式save_users()
被添加到$form['submit']
一系列操作中。