У меня есть определенные страницы, которые требуют, чтобы пользователь регистрировался в Joomla. Когда они нажимают на ссылки на эти страницы, окно входа появляется в наложении iframe. После того, как они войдут в систему, я хочу перенаправить их обратно на страницу, к которой они пытались войти, однако Joomla, похоже, разрешает перенаправление пользователя на страницу, которая предопределена в параметрах формы входа. Есть ли способ сделать это без полного взлома Joomla.
Если нет, есть ли у кого-нибудь рекомендация о том, как взломать этот простой способ.
Вы можете использовать как
$return = JURI::getInstance()->toString(); $url = 'index.php?option=com_user&view=login'; $url .= '&return='.base64_encode($return); $this->setRedirect($url, XiText::_('YOU_MUST_LOGIN_FIRST')); // if you are in controller or JFactory::getApplication()->redirect($url, XiText::_('YOU_MUST_LOGIN_FIRST'));
[SOLVED] Я решил эту проблему и реализовал на сайте. Следуйте по этой ссылке , я написал пятиэтапный учебник о том, как это сделать. (Нет необходимости в редактировании кода).
Так вы можете это сделать.
В скрытом меню
1.Добавить новый пункт меню: вызвать его, например. «Вход в скрытое меню». (Пользователи не будут видеть это меню).
2. Добавьте новое имя элемента меню, например. «Загрузка пользовательской статьи» в скрытое меню «Войти», выберите «Тип меню»: «Создать статью». (Или любой другой компонент, к которому могут обращаться только зарегистрированные пользователи. Но публика может просматривать, предоставлять доступ как «Зарегистрированный» для этого меню.)
В главном меню
1. Откройте главное меню и создайте пункт меню, чтобы вызвать его «Отправить статью на веб-сайт».
2.Выберите пункт меню Тип элемента: Псевдоним элемента меню и выберите «Загрузка пользовательской статьи» (вы создали в скрытом меню «Вход в систему»), предоставите доступ как общедоступный.
ВСЕ СДЕЛАНО. Теперь, когда посетитель нажимает «Отправить статью на веб-сайт», они будут перенаправлены на страницу входа вместо 403 ошибки.
Я использовал $this->setRedirect($link, $msg);
Для получения дополнительной информации об этой функции см. Здесь http://docs.joomla.org/API15:JController/setRedirect