•  › 
  •  › 
  • Всплывающее окно авторизации Joomla 2.5

Всплывающее окно авторизации Joomla 2.5

Требуется реализовать такой процесс: По клику пунктов меню -> переходим на страницу, которая должна будет отображать контент для зарегестрированных пользователей; если пользователь не авторизован, то эта страница должна быть затемнена(анимация) и всплывает окно авторизации, после чего вводим данные(отправили ajax-запрос, что бы страница не перезагружалась) если пользователь не прошел авторизацию то перенаправляем его на страницу регистрации, в другом случае скрываем форму и затемнение убираем(анимация), отображая контент. Как это можно реализовать? Направьте в какую сторону смотреть. Спасибо
Женя | 21.06.2015 13:28
ОТВЕТ:

Все довольно таки просто! Но думаю это тема для статьи в блоге все же, очень большой объем информации )

Но думаю затемнять страницу не вариант! Ибо если у пользователя есть чуть опыта, он сможет отключить всплывающий блок который будет поверх контента!

Если не беспокоит то порядок действий следующий:

1. В шаблоне вида который привязан к пункту меню определить или страница закрыта для гостя

2. Если страница закрыта то:

<?php 
$user = JFactory::getUser();
if($user->guest): ?>
/*тут нам нужно вывести блок с затемнением в котором выведем модуль для формы авторизации,
 для всплывающего окна можно использовать http://fancyapps.com/fancybox  как на этом сайте, только выполнить : 
http://jsfiddle.net/STgGM для ручного открытия всплывающего окна!*/
<?php endif; ?>

3.Ну а дальше вам нужен будет модуль для авторизации через AJAX на сайт! Например как на этом сайте! Если у вас есть подходящий модуль, то использовать его! Если нет то напишите мне на aleksdenezh@gmail.com, я вам вышлю модуль и инструкции как его использовать, или думаю лучше напишу статью по этой теме!

4. Как и на этом сайте слушать ответы AJAX! И если авторизация успешна то можно либо скрыть блок который скрывает контент, либо перегрузить страницу!

5. Если пользователь не прошел регистрацию то не думаю что его нужно кидать на регистрацию? А если ошибся с паролем? Ему снова возвращаться на предыдущую страницу придется увы! Думаю лучше вывести внизу ссылку на регистрацию, или ввести счетчик ошибок авторизации, и если больше трех - отправить на страницу регистрации!