hook_form被调用两次
/**
* Implements hook_form_alter().
*/
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_register_form') {
$form_state['redirect'] = false;
my_function();
}
}
my_function()调用两次,我只需要一次。
我读过这篇文章:
https://drupal.stackexchange.com/questions/22881/hook-form-being-called-twice
我尝试使用$ form_state ['redirect'] = false但不能正常工作。
任何人都知道干净的方式吗?感谢
答案 0 :(得分:2)
在我看来,你应该在你自己的提交功能中做你正在做的任何事情。
通过将您的函数名称添加到form_alter中的提交数组来添加您自己的提交函数。
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_register_form') {
$form['#submit'][] = 'MYMODULE_submit_function';
}
}
function MYMODULE_submit_function(&$form, &$form_state) {
$form_state['redirect'] = false;
my_function();
}