Joomla User Manual
Manual Index
Автоматическая переадресация гостей на страницу входа
Желаемая функциональность
Предположим, у вас есть некоторые пункты меню, которые требуют, чтобы пользователь был авторизован, например, Отправить статью. Вы хотите, чтобы все пользователи могли видеть этот ограниченный пункт меню, независимо от того, вошли они в систему или нет. Желаемое поведение следующее.
- Если пользователь авторизован, он переходит непосредственно к ограниченному пункту меню.
- Если пользователь не авторизован, ему предъявляется форма для входа, и после успешного входа пользователь переходит на ограниченную страницу.
- Если пользователь не зарегистрирован, ему предлагается зарегистрироваться или перейти на другую страницу.
Решение
Вот как это делается в Joomla!.
- Создайте новое меню из списка Меню, назовите его, например, Скрытое меню.
- Добавьте любые пункты меню, которые будут доступны только зарегистрированным пользователям (например, Отправить статью). Установите для этих пунктов меню требуемые уровни доступа — Зарегистрированный.
- НЕ создавайте модуль для Скрытого меню. Оно не будет отображаться ни на одной странице, поэтому модуль не нужен.
- Создайте свое реальное меню, назовите его, например, Меню сайта, и пункт меню, который будет отображаться для всех пользователей, например, Отправить статью.
- Пункт меню будет иметь тип пункта меню Алиас пункта меню, который можно найти в типах пунктов меню Системные ссылки.
- Его параметр Пункт меню будет ссылаться на пункт меню Отправить статью в Скрытом меню*.
- Уровень доступа для этого пункта меню будет Общедоступный, так как все должны иметь возможность его видеть и использовать.
- Создайте модуль для Меню сайта так же, как вы делаете для любого меню.
- Если вам нужны подменю, убедитесь, что вы добавили пункты подменю в Меню сайта, а не в Скрытое меню.
Теперь, когда гость (незарегистрированный пользователь) заходит в пункт меню Отправить статью, его перенаправляет на страницу входа. Если вход выполнен успешно, пользователь перенаправляется на ограниченную страницу Отправить статью. Если пользователь уже вошел в систему, перенаправление происходит сразу.
Пример
Для следующих пунктов меню:
- Главная
- Блог
- Вики
- Каталог
- Объявления
- Вопросы и ответы
- Магазин
- Контакты
Все пункты меню должны быть видимы всем на клиентской стороне, но пункты 3, 4, 5, 6 и 7 должны быть доступны только Зарегистрированным пользователям.
В этом случае пункты меню с 3 по 7 находятся в скрытом меню с параметром Доступ установленным на Зарегистрированным. Пункты 3 по 7 имеют Алиасы пунктов меню в реальном меню с параметром Доступ установленным на Публично.