在Drupal 6中我将使用什么钩子来覆盖user_pas_submit?

时间:2012-06-28 20:31:21

标签: drupal drupal-6

我需要为user_pass_submit添加一些额外的功能。必须在不更改核心的情况下添加。我会用它做什么钩子?

感谢。

1 个答案:

答案 0 :(得分:3)

您应该能够使用hook_form_FORM_ID_alter()user_pass表单的提交处理程序替换为您自己的模块user_pass_submit副本,并根据需要进行更改。

像这样......

function MODULE_form_user_pass_alter(&$form, &$form_state) {
  $form['#submit'] = array('MODULE_user_pass_submit');
}

function MODULE_user_pass_submit($form, &$form_state) {
  global $language;

  $account = $form_state['values']['account'];
  // Mail one time login URL and instructions using current language.
  _user_mail_notify('password_reset', $account, $language);
  watchdog('user', 'Password reset instructions mailed to %name at %email.', array('%name' => $account->name, '%email' => $account->mail));
  drupal_set_message(t('Further instructions have been sent to your e-mail address.'));

  $form_state['redirect'] = 'user';
  return;
}

当然,如果您有多个模块尝试

,这就会失败