【问题标题】:Change redirect in Drupal 7 for Password Recovery在 Drupal 7 中更改重定向以恢复密码
【发布时间】:2012-12-06 20:09:40
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: drupal drupal-7 password-recovery


    【解决方案1】:

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

    默认内容如下:

    [用户:名称],

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

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

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

    此链接只能用于登录一次,并将引导您进入可以设置密码的页面。一天后过期,不使用什么都不会发生。

    -- [站点:名称] 团队

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

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

    【讨论】:

      【解决方案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';
      }
      

      这个解决方案对我有用。

      【讨论】:

        猜你喜欢
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 2016-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多