Joomla ACL: улучшение юзабилити и разное оформление страницы авторизации

joomla 1 5

В прошлых статьях мы рассмотрели основные принципы работы ACL в Joomla 1.6+ и пример создания контента во фронтэнде сайта для учеников и учителей. Ученики, войдя в систему, видели информацию, предназначенную для них, а учителя видели оба типа контента: для учеников и учителей.

Все работало прекрасно, но теперь нам нужно нечто большее. Что если нам нужно своя приветственная страница для каждой группы пользователей, входящей на сайт? Также в зависимости от входа на сайт – с помощью модуля или ссылки меню, результат будет отличаться.
Модуль "Вход на сайт"

Модуль логина доступен на домашней странице Joomla 2.5 вместе или без установленных демо данных. При входе с использованием этого блока, модуль логина перенаправит вас по умолчанию на домашнюю страницу.

Можно изменить настройки, отредактировав модуль. Зайдите в "Расширения - Менеджер модулей - Login" (Вход на сайт). Посмотрите на опции конфигурации в правой части экрана:

В опции "Перенаправление при входе" можно установить, куда будет перенаправляться пользователь после входа на сайт. Из выпадающего меню можно выбрать любую страницу, связанную с помощью меню на вашем сайте. "По умолчанию" означает стандартную страницу сайта (обычно домашнюю страницу).

Могут возникнуть затруднения, если блок входа на сайт расположен внизу страницы и пользователю придется использовать прокрутку, а также, если он есть только на домашней странице (страница, куда перенаправляется пользователь после входа на сайт). Пользователь авторизуется и видит ту же самую страницу. Нужно прокрутить страницу вниз для того, чтобы увидеть, что блок входа теперь имеет опцию выхода. К сожалению, такое случается у пользователей с разрешением монитора 1024x768, использующих сайт Joomla с демо данными.
Ссылка в меню для входа на сайт

Можно также создать ссылку в меню на страницу, содержащую форму входа на сайт. Для этого зайдите в "Меню - Main Menu (или выберите ваше меню) - Создать пункт меню". Нажмите "Выбрать" рядом с "Создать пункт меню", далее "Форма авторизации", которая находится под пунктом "Менеджер пользователей". Посмотрите на правую часть экрана конфигурации и вы увидите следующее:


Экран конфигурации логина не перенаправляет пользователя по умолчанию на какую-то страницу. Вместо этого, он перенаправляет его на страницу профиля. Для настройки перенаправления, введите URL нужной страницы в поле "Перенаправление после входа". Вот как пользователь увидит свою страницу при стандартных настройках:
Три способа сделать вход/выход пользователя более удобным
1. Используйте одинаковое перенаправление

Вы используете модуль входа на сайт и ссылку для входа на своем сайте? Убедитесь, что оба способа входа перенаправляют на одну и ту же страницу. Предложите выбор из модуля входа на сайт или ссылки для входа на сайт. Убедитесь, что страница, на которую будет перенаправлен пользователь выбрана логично. Также убедитесь, что модуль входа на сайт или ссылка для входа перенаправляют на ту же страницу при выходе. Если используется всего один способ входа на сайт, проверьте страницы для перенаправления, чтобы убедиться, что пользователю понятно, что он авторизовался на сайте или же вышел из него.
2. Настройте целевую страницу входа на сайт для определенной группы пользователей

Что если нужно, чтобы ученики видели при входе в систему одно сообщение, а учителя – другое? И если администратору сайта необходимо видеть сообщения для учителей, учеников и свое собственное? В Joomla есть возможность перенаправления только на одну страницу и все будут видеть одну и ту же страницу. Как же быть, если у нас есть всего одна страница? Ответ - использйте Joomla ACL.

Вот, как бы я настроил целевую страницу входа на сайта для трех разных групп:
Настройте категорию для целевой страницы входа на сайта и выставьте уровень доступа Registered (все, кто находится в этой категории смогут видеть контент);
Добавьте статью в категорию. Внутри матерала не вводите текст, а введите три позиции модуля с помощью [loadposition]. Например: [loadposition student], [loadposition teacher], [loadposition admin] (не забудьте заменить символы "[ ]" на "{ }");
Создайте модули для каждого уровня доступа с позициями "student" для учеников, "teacher" для учителей и "admin" для администратора (или соответственно вашему коду loadposition). Это могут быть HTML-код модули, содержащие контент, настроенный под определенную группу пользователей;
Когда посетитель зайдет на сайт, он увидит модуль, настроенный в зависимости от уровня доступа пользователя.

А теперь более подробные инструкции, как этого достичь.

Шаг 1: Убедитесь, что пользователи входят в группу зарегистрированных.

Пользователи могут быть назначены в одну или несколько групп. Проверьте, чтобы одна из групп была для зарегистрированных пользователей и что все вошедшие в систему могут видеть общий контент. Гости, т.е. не зашедшие в систему, не могут видеть контент, предназначенный для зарегистрированных пользователей. (подробности в статье Joomla ACL: Уровни доступа)

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

Создайте категорию для целевой страницы входа на сайт, например, с именем "Страница приветствия". Установить уровень доступа в категории Registered (группы учеников и учителей должны иметь уровень доступа Registered).

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


Источник: http://joomlablog.ru

Добавить комментарий:
Имя:
E-mail:
2021 © Обсуждение Joomla и других CMS-систем управления сайтами  Правила | О проекте | Обратная связь