Форум русской поддержки Joomla!® CMS
04.12.2016, 18:23:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Не работает переадресация при Logout (компонент Improved AJAX Login)

 (Прочитано 56 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rgu2006
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« : 02.11.2016, 16:10:52 »

Здравствуйте!
Кто-нибудь подскажите, пожалуйста, как при Logout вернуться на главную страницу.
В установленном компоненте "Improved AJAX Login" настроена переадресация при login'е и logout'е.
Для login'а работает, а для logout'а нет.
В адресной строке следующее: сайт.ru/index.php/component/users/?task=user.logout

Ниже куски кода, который, насколько я понимаю, за это отвечает
файл /modules/mod_improved_ajax_login/themes/elegant/tmpls/tmpl25.php
Код:
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.logout')?>" method="post" name="ialLogout" class="ial-logout hidden">
       
      <input type="hidden" value="com_users" name="option" />
      <input type="hidden" value="user.logout" name="task" />
  <input type="hidden" name="return" value="<?php echo $return; ?>" />
    <?php echo JHtml::_('form.token')?>
   
  </form>
файл /modules/mod_improved_ajax_login/mod_improved_ajax_login.php
Код:
$user = JFactory::getUser();
$guest = $user->get('guest', 0);
$return = JRequest::getVar('return', '');
if ($return) { // fix for redirect to private area on J!348
  $url = call_user_func('base'.'64_decode', $return);
  if (!preg_match('/^http/i', $url)) {
    $url = JFactory::getURI()->toString(array('scheme', 'host', 'port')). $url;
    $return = call_user_func('base'.'64_encode', $url);
  }
} else {
  $itemid = $params->get($guest? 'login' : 'logout');
  if ($itemid) {
    if (version_compare(JVERSION,'3.4.6','ge')) {
      $url = "index.php?Itemid=".$itemid;
    } else {
      $item = JFactory::getApplication()->getMenu()->getItem($itemid);     
      if ($item) $url = JRoute::_($item->link.(strpos($item->link, '?')?'&':'?').'Itemid='.$itemid, false);     
      // stay on the same page
      else $url = JFactory::getURI()->toString(array('scheme', 'host', 'port', 'path', 'query', 'fragment'));     
    } // stay on the same page
  } else $url = JFactory::getURI()->toString(array('scheme', 'host', 'port', 'path', 'query', 'fragment'));
  $return = call_user_func('base'.'64_encode', $url);
}
Записан
Septdir
Живу я здесь
******

Репутация: +32/-3
Offline Offline

Пол: Мужской
Сообщений: 819


Skype: septdir


« Ответ #1 : 02.11.2016, 18:43:40 »

У Joomla уже давно есть типа пункта меню "Выход" если вам чисто на главную при выходе, то создайте такой пунт и вставляйте короткую ссылку куда нужно. Либо часто есть в настройка модуля\комопнента
А все вот эти танцы с кодом, нужны если только возвращать на ту же страницу где был.
Записан
rgu2006
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #2 : 03.11.2016, 14:14:02 »

Пробовал,
при logout появляется страница с формой входа в теле, вместо главной, хотя Login оформлен в виде кнопки "Вход", по нажатию на которую появляется всплывающая форма входа.
Записан
Septdir
Живу я здесь
******

Репутация: +32/-3
Offline Offline

Пол: Мужской
Сообщений: 819


Skype: septdir


« Ответ #3 : 03.11.2016, 14:58:36 »

Пробовал,
при logout появляется страница с формой входа в теле, вместо главной, хотя Login оформлен в виде кнопки "Вход", по нажатию на которую появляется всплывающая форма входа.
С logout глюки через обновление. лучше alias= exit
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet