4

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

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

谢谢!

4

2 回答 2

2

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

截屏

默认内容如下:

[用户名],

已在 [site:name] 提出重置您帐户密码的请求。

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

[用户:一次性登录网址]

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

-- [站点:名称] 团队

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

要了解 Drupal 如何处理密码重置请求,请参阅user_pass_reset()

于 2012-12-19T13:24:00.933 回答
2

我想最好看看user_pass_submit()。它使

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

并重定向到 /user 页面。

要重定向到“用户/登录”(例如),您必须添加表单更改挂钩并再添加一个提交回调:

/**
 * 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';
}

这个解决方案对我有用。

于 2014-02-04T06:07:46.373 回答