Joomla Логин перенаправление назад на страницу на предыдущую страницу - PullRequest
3 голосов
/ 29 марта 2011

У меня есть определенные страницы, которые требуют, чтобы пользователь вошел в Joomla. Когда они нажимают на ссылки на эти страницы, в оверлейном окне появляется окно входа. После того, как они войдут в систему, я хочу перенаправить их обратно на страницу, на которую они пытались войти, однако, Joomla, похоже, позволяет перенаправлять пользователя только на страницу, которая предопределена в параметрах формы входа. Есть ли способ сделать это без полного взлома Joomla.

Если нет, есть ли у кого-нибудь рекомендации о том, как взломать этот простой способ.

Ответы [ 3 ]

4 голосов
/ 30 марта 2011

Вы можете использовать как

$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'));  
1 голос
/ 21 июня 2012

[решено] Я решил эту проблему и реализовал на сайте. Перейдите по этой ссылке , я написал пятиступенчатое руководство о том, как это сделать (редактирование кода не требуется).

Вот как вы можете это сделать.

В скрытом меню

1.Добавить новый пункт меню: позвонить, например. «Вход в скрытое меню». (Пользователи не увидят это меню).

2.Добавьте имя нового пункта меню, например. «Загрузка пользовательской статьи» для входа в скрытое меню, выберите «Тип элемента меню»: «Создать статью». (Или любой другой компонент, доступ к которому могут получить только зарегистрированные пользователи. Но публичный может просматривать, Предоставить доступ как «Зарегистрированный» для этого меню.)

В главном меню

1.Зайдите в главное меню и создайте пункт меню, который называется «Отправить статью на сайт».

2.Выберите тип элемента меню: Псевдоним пункта меню и выберите «Загрузка статьи пользователя» (вы создали в скрытом меню «Вход»), предоставьте доступ как общедоступный.

ВСЕ СДЕЛАНО. Теперь, когда посетитель нажимает «Отправить статью на сайт», он будет перенаправлен на страницу входа вместо ошибки 403.

1 голос
/ 29 марта 2011

Я использовал $this->setRedirect($link, $msg);

Подробнее об этой функции см. Здесь http://docs.joomla.org/API15:JController/setRedirect

...