После отправки действия в form_alter

Мне нужно вставить данные в мои таблицы после создания пользователя. Думаю использовать hook_form_alter() за $form_id == "user_register" но я не знаю, как сказать "после того, как вы создали пользователя, сделайте это".

Как я могу сделать это в hook_form_alter()?

1 ответ

Решение

Вы можете добавить пользовательский обработчик отправки к таким формам.

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 для достижения этой цели. AFAIK была ошибка с одним из триггеров, которые срабатывают после регистрации пользователя. Не знаю, было ли это исправлено.

Другие вопросы по тегам