Сброс пароля ошибка в шаблоне с Bootstrap
Такая ошибка возникает только с Bootstrap шаблонами
Почему то ссылка со сбросом пароля приходит на почту два раза подряд и в письме генерируется каждый раз новая ссылка и пароль.
При переходе по ссылке из письма происходит ошибка
сниппет вызываемый на ресурсе 846
***************
ОТВЕТ
сниппет восстановления и сброса пароля находился в стандартном шаблоне
и выводился так
Почему то ссылка со сбросом пароля приходит на почту два раза подряд и в письме генерируется каждый раз новая ссылка и пароль.
При переходе по ссылке из письма происходит ошибка
Password Reset InformationСкрин ошибки
Your password has already been reset or the link expired. If you need to reset your password again, click here.
сниппет вызываемый на ресурсе 846
[[!ForgotPassword?
&resetResourceId=`948`
&loginResourceId=`845`
&tpl=`авториз сброс`
&sentTpl=`<p class="alert alert-success">Письмо отправлено</p>`
&sentTplType=`inline`
]]
сниппет вызываемый на ресурсе 948 (куда переходим по ссылке из письма)[[!ResetPassword?
&loginResourceId=`844`
]]
Как исправить то? кто нить знает?***************
ОТВЕТ
сниппет восстановления и сброса пароля находился в стандартном шаблоне
и выводился так
[[!If?
&subject=`[[RenderSidebar]]`
&operator=`!empty`
&then=`<div class="row">
<div class="col-md-2 sidebar-offcanvas" id="sidebar" role="navigation">
[[$Sidebar]]
</div>
<div class="col-md-10">
[[*content]]
</div>
</div>`
&else=`[[*content]]`
]]
оставил только[[*content]]
письмо приходит теперь 1 раз и ссылка генерируется правильная. Комментарии: 10
Возможная причина в чанке
в котором код
&tpl=`авториз сброс`
в котором код
<input type="hidden" name="returnUrl" value="[[+loginfp.request_uri]]" />
вроде он указывает куда возвращаться после отправки email
Оказалось что
value="[[+loginfp.request_uri]]"
не влияет
Возможно нужно просто указать в форме
=)
<form role="form" action="[[~[[*id]]]]" method="post">
другой action="[[~[[*id]]]]"=)
Скорее всего форма сброса на странице вызывается 2 раза, потому и срабатывает 2 раза.
Все куда сложнее.
Отключил шаблон для этих ресурсов, сделал без шаблона.
Приходит письмо теперь 1 раз ноооооо ссылка не рабочая в ней. Не сбрасывается пароль при переходе по ссылке из письма.
На другом контексте все тоже самое и работает.
Отключил шаблон для этих ресурсов, сделал без шаблона.
Приходит письмо теперь 1 раз ноооооо ссылка не рабочая в ней. Не сбрасывается пароль при переходе по ссылке из письма.
На другом контексте все тоже самое и работает.
Я так и не понял почему в шаблоне Bootstrap происходит двойная отправка письма.
Но проблема с неработающей ссылкой сброса пароля решилась вот таким извратом
Но проблема с неработающей ссылкой сброса пароля решилась вот таким извратом
[[!ResetPassword:empty=`
[[!ForgotPassword?
&resetResourceId=`[[*id]]`
&tpl=`сброс`
&sentTpl=`<p>Проверьте почту.</p>`
&sentTplType=`inline`
]]
`]]
ТОбишь если не указать
[[!ResetPassword:empty=`
то ссылка будет приходить в эмайл неправильная ((( непонятно почему
Итак, вывод почему письмо два раза отправлялось
сниппет восстановления и сброса пароля находился в стандартном шаблоне
и выводился так
сниппет восстановления и сброса пароля находился в стандартном шаблоне
и выводился так
[[!If?
&subject=`[[RenderSidebar]]`
&operator=`!empty`
&then=`<div class="row">
<div class="col-md-2 sidebar-offcanvas" id="sidebar" role="navigation">
[[$Sidebar]]
</div>
<div class="col-md-10">
[[*content]]
</div>
</div>`
&else=`[[*content]]`
]]
оставил только[[*content]]
письмо приходит теперь 1 раз и ссылка генерируется правильная.
А все почему? Потому что парсер MODX «работает изнутри», то есть, сначала берет [[*content]], выполняет в нём все теги, потом берет второй [[*content]], выполняет в нем все теги, только потом берет If и выводит на страницу нужный результат из полученных.
Много раз уже говорили — не пользуйтесь вы этим If. Напишите свой сниппет, который будет возвращать нужный контент. If придуман для менеджеров без знаний php.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.