在 Drupal 7 中,有一种方法可以通过转到“/user/password”来重置密码。如果您填写您的电子邮件地址,您应该会在收件箱中收到一封电子邮件,其中包含用于重置密码的 URL。
在该页面上,您需要单击“登录”,然后您将被重定向到您的个人资料页面(“/用户”)。有没有办法编辑最后一个重定向?
谢谢!
在 Drupal 7 中,有一种方法可以通过转到“/user/password”来重置密码。如果您填写您的电子邮件地址,您应该会在收件箱中收到一封电子邮件,其中包含用于重置密码的 URL。
在该页面上,您需要单击“登录”,然后您将被重定向到您的个人资料页面(“/用户”)。有没有办法编辑最后一个重定向?
谢谢!
您可以在 admin/config/people/accounts 中更改发送给用户的电子邮件内容。
默认内容如下:
[用户名],
已在 [site:name] 提出重置您帐户密码的请求。
您现在可以通过单击此链接或将其复制并粘贴到您的浏览器来登录:
[用户:一次性登录网址]
此链接只能用于登录一次,并将引导您进入可以设置密码的页面。它会在一天后过期,如果不使用它不会发生任何事情。
-- [站点:名称] 团队
如果要更改用户指向的 URL,则需要编写所有代码来处理密码恢复请求。
要了解 Drupal 如何处理密码重置请求,请参阅user_pass_reset()。
我想最好看看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';
}
这个解决方案对我有用。