更改Drupal 7中的重定向以进行密码恢复

时间:2012-12-19 12:57:55

标签: drupal drupal-7 password-recovery

在Drupal 7中,有一种方法可以通过转到'/ user / password'来重置密码。如果您填写了电子邮件地址,则应在收件箱中收到一封电子邮件,其中包含重置密码的网址。

在该页面上,您需要点击“登录”,然后重定向到您的个人资料页面('/ user')。 有没有办法编辑最后一次重定向?

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以在admin / config / people / accounts中更改发送给用户的电子邮件的内容。

screenshot

默认内容如下:

  

[用户:名称],

     

我们已在[site:name]进行了重置帐户密码的请求。

     

您现在可以通过单击此链接或将其复制并粘贴到浏览器来登录:

     

[用户:一次性登录-URL]

     

此链接只能用于登录一次,并会引导您进入可设置密码的页面。它会在一天后过期,如果不使用它将不会发生任何事情。

     

- [site:name]团队

如果要更改用户所指向的URL,则需要编写所有代码来处理密码恢复请求。

要了解Drupal处理密码重置请求的操作,请参阅user_pass_reset()

答案 1 :(得分:1)

我认为最好看一下user_pass_submit()。它使

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

并重定向到/ user页面。

要重定向到'user / login'(例如),您必须添加表单alter hook并添加一个提交回调:

/**
 * Implements hook_form_alter().
 *
 *
 */
function MY_MODULE_form_alter(&$form, &$form_state, $form_id) {
  if ('user_pass' == $form_id) {
    $form['#submit'][] = '_password_recover_submit';
  }
}

function _password_recover_submit($form, &$form_state){
  $form_state['redirect'] = 'user/login';
}

此解决方案适合我。