[ajaxLogin] Регистрация, Авторизация, Сброс пароля
Компонент ajaxLogin для MODX revolution реализует регистрацию, авторизацию и сброс пароля на сайте через AJAX, содержит в себе один сниппет и кучу чанков. Обязательно должен быть установлен пакет Login, автоматическая загрузка, пока, не реализована. Из пакета Login работает только с тремя сниппетами, это: Login, Register и ForgotPassword.
Все действия происходят в модальном окне, по умолчанию bootstrap3

Должна быть подключена библиотека jQuery.
Чанк ajaxLoginTpl разделён на две части сепаратором , и служит для вывода кнопки «Войти» или имени пользователя (fullname), в зависимости от состояния юзера: авторизован/не авторизован, с выпадающим меню-дропдаун (bootstrap), в котором находится ссылка выхода. Можно добавить любые другие ссылки.
Компонент в modstore.
Все действия происходят в модальном окне, по умолчанию bootstrap3
Должна быть подключена библиотека jQuery.
Сниппет ajaxLogin
Как я выше писал, ajaxLogin содержит в себе кучу чанков, которые все служат для переопределения чанков по умолчанию сниппетов пакета Login, кроме двух — ajaxLoginTpl и ajaxLoginModalTpl.Чанк ajaxLoginTpl разделён на две части сепаратором , и служит для вывода кнопки «Войти» или имени пользователя (fullname), в зависимости от состояния юзера: авторизован/не авторизован, с выпадающим меню-дропдаун (bootstrap), в котором находится ссылка выхода. Можно добавить любые другие ссылки.
Параметры
- &activationEmailTpl — Чанк письма для подтверждения Email, сниппета Register. По умолчанию: ajaxLoginActivateEmailTpl
- &activationResourceId — ID ресурса, куда будет перенаправлен пользователь для подтверждения и активации своей почты при регистрации, сниппета Register. По умолчанию: Пусто
- &emailTpl — Чанк письма с информацией о дальнейших действиях при сбросе пароля, сниппет ForgotPassword. По умолчанию: ajaxLoginForgotPassEmailTpl
- &errTpl — Шаблон вывода ошибки для сниппетов Login и ForgotPassword. По умолчанию: ajaxLoginErrTpl
- &frontendCss — Путь до файла со стилями.
- &frontendJs — Путь до файла со скриптом.
- &loginTpl — Чанк с формой авторизации для сниппета Login. По умолчанию: ajaxLoginFormTpl
- &logoutResourceId — ID ресурса, куда пользователь будет перенаправлен при выходе. Если пусто, то текущий ресурс. По умолчанию: Пусто
- ®isterTpl — Чанк с формой регистрации для сниппета Register. По умолчанию: ajaxLoginRegisterFormTpl
- &resetResourceId — ID ресурса, куда будет перенаправлен пользователь для сброса пароля по ссылке из почты. По умолчанию: Пусто
- &sentTpl — Чанк с сообщением, после заказа сброса пароля. По умолчанию: ajaxLoginForgotPassSentTpl
- &tpl — Чанк с формой восстановления пароля для сниппета ForgotPassword. По умолчанию: ajaxLoginForgotFormTpl
- &tplAjax — Чанк, разделённый на две части сепаратором. Та или иная часть выводится согласно статуса пользователя — авторизован или нет. По умолчанию: ajaxLoginTpl
- &tplModal — Чанк оформления модального окна. По умолчанию: ajaxLoginModalTpl
- &tplType — Значение указывает сниппетам Login и ForgotPassword где находится форма. По умолчанию: embedded. Не рекомендую менять этот параметр.
Примеры
Вот пример кода, которого вполне достаточно для работы этого компонента:[[!ajaxLogin?
&resetResourceId = `87`
&emailSubject = `Заказан сброс пароля`
&usergroups = `Users::Member`
&activationEmailSubject = `Спасибо за регистрацию!`
&activationResourceId = `84`
&successMsg = `На указанный Email мы отправили ссылку, по которой нужно перейти для подтверждения почты.`
]]Как вы понимаете, должны быть созданы ресурсы для сброса пароля и подтверждения Email, с соответствующими вызовами сниппетов: ResetPassword и ConfirmRegisterКомпонент в modstore.
Комментарии: 28
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
А где найти сам компонент-то? В статье об этом ни слова…
id 2 это главная, вместо перехода на неё просто остаётся на странице ( logout выполняется).
Должен сработать.
Ток предупреждайте, что чанки перезаписываются, спасибо.
Небольшая проблемка при работе по https. Так и не обнаружил откуда ноги ростут. В процессе.
При авторизации в хроме в консоль кидает:
Обновления страницы не происходит. Авторизация однако совершается (только f5 надо жмякнуть). Откуда может он брать http?
* ps: в link_tag_scheme = 1
Пока писал, заметил, что видимо дело в $_SERVER['HTTPS'] ибо оно не в on. Буду разбираться.
Благодарю за компонент. Пригодится.
И очень скудно описан функционал, но с горем на пополам — разобрался
Нужно проверять будет он работать или нет.
Удалось ли Вам реализовать авторизацию в разных контекстах?
И есть ли альтернатива?
Готовой альтернативы судя по всему нет.