Переход на нужную страницу после смены пароля

Здравствуйте.
Сделал страницу для смены пароля, выглядит так:

<h2>Изменить пароль</h2>
[[!ChangePassword?
   &submitVar=`change-password`
   &placeholderPrefix=``
   &validateOldPassword=`1`
   &validate=`nospam:blank`
   &reloadOnSuccess=`0`
   &successMessage=`Пароль успешно изменён!`
]]
<div>
    [[!+successMessage]]
</div>
<div class="updprof-error">
    [[!+error_message]]
</div>

<!-- Ну а далее сама форма с полями и кнопкой -->
Необходимо после смены пароля перекидывать пользователя на определённую страницу. Как это сделать? Для ChangePassword есть какой-то параметр?
Andrey
07 апреля 2020, 16:04
modx.pro
570
0

Комментарии: 7

Баха Волков
08 апреля 2020, 07:48
0
Скорее всего нужно будет написать хук
    Andrey
    08 апреля 2020, 07:53
    0
    Я совсем недавно изучаю modx, можно чуть подробнее?)
      Николай Савин
      08 апреля 2020, 07:58
      0
      Читаем документацию. ChangePassword имеет параметр postHooks — где можно перечислить скрипты, выполняемые после завершения основных действий. Под хуками-скриптами понимаются сниппеты. Пишите сниппет с нужным вам кодом, и указываете его в параметре postHooks
      Как сделать редирект встроенными возможностями MODX вы понимаете? Какой код сниппета писать понимаете?
        Andrey
        08 апреля 2020, 08:16
        0
        Если честно — нет. И две минуты в гугле помогли лишь узнать, что для этого есть N способов: с использованием компонента Redirector, какой-то директивы RewriteRule…
        Как проще правильнее? =)
          Николай Савин
          08 апреля 2020, 08:19
          1
          +1
          Для редиректа в MODX существует метод SendRerdirect
          //1 - это номер страницы куда нужен редирект
          $url = $modx->makeUrl(1);
          $modx->sendRedirect($url);
          По идее этого наверное и достаточно в вашем сниппете.
          Пардон — а вы знаете что такое сниппет?
            Andrey
            08 апреля 2020, 08:31
            0
            Да, знаю. Определение из учебника не выдам, но как этой штукой пользоваться вроде понимаю =)
            Собственно, всё получилось и работает, спасибо)
            Николай Савин
            08 апреля 2020, 08:22
            0
            По идее вы можете указать при вызове ChangePassword дополнительный параметр от себя. Назвав его, к примеру redirectId, значением указав нужную страницу для переадресации.
            и он будет доступен в хуке в виде $redirectId
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7