在form_alter中提交操作后

时间:2011-01-24 08:57:48

标签: drupal hook-form-alter

我需要在用户创建后在我的表中插入数据。我想将hook_form_alter()用于$form_id == "user_register",但我不知道如何说“在创建用户之后,请执行此操作。”

我如何在hook_form_alter()中完成?

1 个答案:

答案 0 :(得分:17)

您可以向此类表单添加自定义提交处理程序。

function hook_form_user_register_alter(&$form, &$form_state) {
    // ...
    $form['#submit'][] = 'yourModule_user_register_submit';
}

function yourModule_user_register_submit($form, &$form_state) {
    // do what you want to do after registration
}

我还建议使用Drupal的Triggers & Actions来实现这一目标。 AFAIK有一个错误,其中一个触发器在用户注册后触发。不知道是否已经修复。