Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 5781 Просмотров
*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
Код: html4strict
<a class="btn" href="<?php echo JRoute::_( 'index.php?option=com_users&task=user.logout&' .JSession::getFormToken().'=1&return='.base64_encode(JURI::getInstance()->toString() )); ?>">
<i class="icon-user"></i> Выйти: <?php echo JFactory::getUser()->username;?></a>
Здесь после выхода мы остаемся на текущей странице. Если надо перейти на другую, то замените
Код: html4strict
base64_encode(JURI::getInstance()->toString() )
к примеру так на главную
Код: php-brief
base64_encode(JURI::base())
, или на нужную нам страницу
Код: php-brief
base64_encode('http://you_site/you_page') 
или
Код: html4strict
<a class="btn" href="<?php echo JRoute::_( 'index.php?option=com_users&task=user.logout&' .JSession::getFormToken().'=1'); ?>"><i class="icon-user"></i> Выйти: <?php echo JFactory::getUser()->username;?></a>
*

Pavv

  • Осваиваюсь на форуме
  • ***
  • 44
  • 0
А как сделать пункт меню "выход", чтобы по нажатию на него происходил выход пользователя при этом он оставался бы на текущей странице. При создании пункта меню я такого варианта не увидел.
*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
Пишем скрипт который при нажатии на пункт меню отправляет запрос на сервер аяксом  в точку входа или контроллер которая выполняет
Код: php-brief
JFactory::getApplication()->logout();
может и только обращается по данной ссылке наверное
*

Pavv

  • Осваиваюсь на форуме
  • ***
  • 44
  • 0
А какой тип пункта меню нужно выбирать при его создании? И куда писать этот код?
*

Fedor Vlasenko

  • Профи
  • ********
  • 3800
  • 698
  • Все начинается с Value
А какой тип пункта меню нужно выбирать при его создании? И куда писать этот код?
Одним выбором пункта меню задачу не решить. Нужно переопределить макет вывода меню где формировать токен, добавить js обработчик клика меню.
К примеру в меню дополнительно(note) писать exit в макете проверять есть ли, что там и производить нужные действия
Далее делать запрос по ссылке указанной выше с передачей токена аяксом или в скрытом фрейме ее открыть
*

Pavv

  • Осваиваюсь на форуме
  • ***
  • 44
  • 0
Понятно, спасибо за разъяснения. Но мне такое не под силу. Ладно обойдемся без пункта меню "выход".
*

ribojex

  • Захожу иногда
  • **
  • 13
  • 0
Здравствуйте.
Данное решение для Joomla 3.5.1 актуально?