覆盖Drupal中user_register表单的submit函数

时间:2012-11-23 07:11:25

标签: drupal

我正在开发一个将Drupal连接到外部Web服务的模块。 当用户注册时,我希望他在Web服务中注册而不是在Drupal中注册。 我想覆盖提交user_register表单时调用的提交函数。

我已经使用$ form ['#submit'],但它无效。

还有其他解决方案吗?我正在使用drupal7。

我喜欢那样

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) { 
$form['account']['name']['#title'] = t('Full name'); // perform other changes here 
$form['#submit'][] = 'mymodule_user_register_form_submit' 
} 

1 个答案:

答案 0 :(得分:3)

使用时

$form['#submit'][] = 'mymodule_user_register_form_submit' 

您实际上并没有覆盖提交模块。您在执行所有其他模块(在我之前运行)创建的提交函数后说,也执行我的函数mymodule_user_register_form_submit

如果要覆盖提交函数,请使用类似$form['#submit'] = 'mymodule_user_register_form_submit'的内容,以确保您的函数是唯一将被执行的函数。