Drupal – Redirect after Form Submission @ 2

We can make a redirection after form submission using hook_form_alter() as mentioned in
Drupal – Redirect after Form Submission @ 1

But it does not work for some forms such as the user_login form. In that case, we have to unset the $form[‘action’] and add an extra form submission function as follow.

function <module>_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'user_login' || $form_id == 'user_login_block') {
    unset($form['#action']);
    $form['#submit'][] = 'user_login_submit_extra';
  }
}

function user_login_submit_extra($form, &$form_state) {
  $form_state['redirect'] = 'node/1';
}

 

Done =)

Reference: Drupal Forum – Redirect from user_login and user_login_block

One thought on “Drupal – Redirect after Form Submission @ 2”

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.