Перейти к содержимому


Фотография
- - - - -

Помогите разобраться с ошибкой при ограничении вывода инфы для групп пользователей


Сообщений в теме: 9

#1 runyugin

runyugin

Отправлено 16 June 2015 - 14:44

см. видео в приложении, ошибка при сохранении профиля, блоки имеющие ограничения в выводе для определённых групп пользователей выдают ошибку.


http://allwheelchairs.ru/

Прикрепленные файлы


Сообщение отредактировал runyugin: 16 June 2015 - 14:44

  • 0

#2 SmetDenis

SmetDenis

Отправлено 16 June 2015 - 15:02

Первым делом, амперсанд не нужен, т.е.
$user = JFactory::getUser();
Далее, привести переменную к массиву явно
if (in_array(11, (array)$user->groups)) {
   //
}

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 runyugin

runyugin

Отправлено 16 June 2015 - 15:17

ошибка пропала но условие не выполняется

<?php  

$user = JFactory::getUser();
if (in_array(10, (array)$user->groups)) {
?>

У вас оформлена подписка на </br> 
<jdoc:include type="modules" name="position-podpiskasrok" style="none" />

<?php } else {?>

Оформив подписку вы сможете видеть полную информацию из объявлений. 

<?php } ?>	

</div>

Сообщение отредактировал runyugin: 16 June 2015 - 15:18

  • 0

#4 SmetDenis

SmetDenis

Отправлено 16 June 2015 - 15:25

Покажите
var_dump($user->groups);

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 runyugin

runyugin

Отправлено 16 June 2015 - 15:34

NULL


  • 0

#6 SmetDenis

SmetDenis

Отправлено 16 June 2015 - 15:40

Очевидно у пользователя нет группы.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 runyugin

runyugin

Отправлено 16 June 2015 - 15:49

)) есть, при сохранении она почемуто NULL и помогает только выход-вход тогда сново группа пользователя определяется.


  • 0

#8 SmetDenis

SmetDenis

Отправлено 16 June 2015 - 16:00

Не знаю почему так...

 

Возможные причины, на вскидку

 - сессия хранится в базе данных, лучше убрать обработчик совсем (настройки сайта)

 - при авторизации Joomla не сразу инициализирует информацию о пользователе. что-то вроде ленивой загрузки.

 

Возможные решения

 

1. использовать не свойство а методы для определения группы

getAuthorisedGroups или  getAuthorisedViewLevels

 

2. использовать JUserHelper::getUserGroups($user->id)

 

3. если null, скрывать проверки.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 runyugin

runyugin

Отправлено 16 June 2015 - 16:05

проблема решается так:0

<?php

$oUser   = JFactory::getUser();
jimport( 'joomla.access.access' );
$groups = JAccess::getGroupsByUser($oUser->id);

if (in_array(10, $groups)) {

} else	{

}
?>	
	

подсмотренно тут http://stackoverflow...user-and-saving


  • 1

#10 SmetDenis

SmetDenis

Отправлено 16 June 2015 - 16:12

Спасибо, не знал.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!