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

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

Создание своих правил доступа

 (Прочитано 143 раз)
0 Пользователей и 1 Гость смотрят эту тему.
john.deff
Осваиваюсь на форуме
***

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

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



« : 06.08.2016, 01:41:47 »

Подкажите, как можно редиректить пользователя после того как он авторизовался в административной панели.
коснтрукция в админском шаблоне в файле local.site/administrator/templates/isis/index.php не работает
Код
$app  = JFactory::getApplication();
if($user->groups[10] == 10){ // id моей группы "myGroup"
   $app->redirect('index.php?option=com_mycomp');
}else{
// код основного шаблона
}
 

может есть более изящное решение?
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #1 : 06.08.2016, 01:47:01 »

потому что нет такого if($user->groups[10] == 10)
есть
if(in_array(10, $user->groups)){
...
}
Записан
john.deff
Осваиваюсь на форуме
***

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

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



« Ответ #2 : 06.08.2016, 01:52:25 »

потому что нет такого if($user->groups[10] == 10)
есть
if(in_array(10, $user->groups)){
...
}

хм, моя конструкция тоже работает,
редирект происходит, однако браузер пишет "Неверное перенаправление на странице" хотя URL меняется на верный как нужно
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #3 : 06.08.2016, 02:38:36 »

Ваша конструкция не должна по логике работать!
ибо там идет нумерованный массив с ID групп в которых юзер! тоесть например:
array(
0=>8,
1=>10,
2=>5
);
Не думаю что у вас есть 11 групп и юзеру назначено 11 групп что бы был доступ к 11-му элементу массива!

попробуйте: $app->redirect(JRoute::_('index.php?option=com_mycomp'));
Записан
john.deff
Осваиваюсь на форуме
***

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

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



« Ответ #4 : 06.08.2016, 14:12:30 »

Ваша конструкция не должна по логике работать!
ибо там идет нумерованный массив с ID групп в которых юзер! тоесть например:
array(
0=>8,
1=>10,
2=>5
);
Не думаю что у вас есть 11 групп и юзеру назначено 11 групп что бы был доступ к 11-му элементу массива!

попробуйте: $app->redirect(JRoute::_('index.php?option=com_mycomp'));


сделал так:
Код
$app  = JFactory::getApplication();
if(in_array(10, $user->groups) && $option != "com_mycomp"){ // id моей группы "myGroup"
   $app->redirect('index.php?option=com_mycomp');
}else{
// код основного шаблона
}
 

теперь работает как надо!
Но все равно спрошу, может есть более изящное решение по закрытому доступу в панель управления только к одному или нескольким компонентам?
« Последнее редактирование: 06.08.2016, 15:02:45 от john.deff » Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #5 : 06.08.2016, 14:52:30 »

и с точки зрения здравой логики это условие: if($user->groups[10] == 10 && $option != "com_mycomp") бред полнейший, и никогда не выполнится корректно!
Записан
john.deff
Осваиваюсь на форуме
***

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

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



« Ответ #6 : 06.08.2016, 15:04:02 »

и с точки зрения здравой логики это условие: if($user->groups[10] == 10 && $option != "com_mycomp") бред полнейший, и никогда не выполнится корректно!


сорри, что не исправил, я сделал условие in_array(10, $user->groups) - мне это подходит, так как пользователь может быть только с одними правами
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #7 : 06.08.2016, 15:14:52 »

Если вариант с in_array(10, $user->groups), то совсем другое дело  Wink
Записан
Страниц: [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