У меня есть веб-сайт в Joomla, который содержит поля курса.
Каждое поле курса имеет разные URL. Я должен проверить, что если пользователь вошел в систему, то он будет
перенаправить на этот курс. Если пользователь не вошел в систему, он будет перенаправлен на страницу входа.
проверить с помощью сессии.
Пожалуйста, помогите мне найти это
Вы должны добавить JFactory / GetUser функция для проверки, если пользователь вошел в систему и если не использовать JApplication :: редирект перенаправить его на нужный URL.
$user = JFactory::getUser();
$app = JFactory::getApplication();
if (!$user->guest) {
echo "You are logged in";
} else {
$login_url = "index.php?option=com_users&view=login";
$app->redirect($login_url,'message to display','message');
}
РЕДАКТИРОВАТЬ:
В Joomla есть встроенные методы для отображения контента только зарегистрированным пользователям без какого-либо кодирования.
Для статей:
Content -> Article Manager -> *Article_name -> Access: Registered
Для пунктов меню:
Menus -> *Menu_name -> *Menu_item_title -> Access: Registered
Существует также возможность установить ссылку для перенаправления после входа в систему.
Для страницы входа в пункт меню:
Menus -> *Menu_Name -> New -> Menu Item Type: (Users Manager -> Login Form) -> Options -> Login Redirect
Для модуля входа в систему:
Extensions -> Module Manager -> New -> Login -> Login Redirection Page
* Быстрый совет, если у вас нет кнопки входа в ваше меню, — это создать новое «скрытое» меню (которого не будет ни в одной позиции внешнего интерфейса) и поместить туда «URL перенаправления входа».
Удачи!
Других решений пока нет …