0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 1003 Просмотров
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Здравствуйте!

Нужно, чтобы для пользователя, принадлежащего к определенной группе на странице ссылка скрывалась, для всех остальных групп пользователей - отображалсаь.

Пробовал разные варианты методом тыка:

остановился на этом, но ссылка всегда скрыта. Пожалуйста, помогите разобраться.

Код: css
.hidebutton {
    display: none;
}

Код: php
<div class="<?php $user = JFactory::getUser();
if($user->groups = Х) {
echo "hidebutton";
} else {
echo "";
}
?>"><a href="#">link</a></div>

где "Х" - id группы пользователя


Благодарю!
*

SmokerMan

  • Гуру
  • 5293
  • 719 / 26
Re: Проверка группы пользователя
« Ответ #1 : 01.06.2016, 12:42:14 »
Цитировать
                $user = JFactory::getUser();
                if (in_array('id гурппы', $user->groups)) {
                    //пользователь в группе
                }
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #2 : 01.06.2016, 13:35:24 »


Благодарю! Вроде бы работает. Буду проверять дальше! Крепкого Вам здоровья!
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #3 : 01.06.2016, 21:53:18 »

Пожалуйста, можно еще вопрос:

Как я могу указать вместо номера id группы указать его переменный параметр?

Я пробовал несколько вариантов, но либо функция не работает, либо белый экран. Пожалуйста, посмотрите, что я делаю не так:

Код: php
<?php $user = JFactory::getUser();if (in_array(echo $field->value[0], $user->groups)) {echo 'text1';} else {echo 'text2';} ?>

где $field->value[0] - id группы

Благодарю!
« Последнее редактирование: 01.06.2016, 22:21:39 от meatrich »
*

Septdir

  • Живу я здесь
  • 2738
  • 135 / 3
  • JoomlaZen
Re: Проверка группы пользователя
« Ответ #4 : 02.06.2016, 00:16:27 »
Благодарю!
Вот старый код давно написал юзаю если надо.
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$access_levels = JAccess::getAuthorisedViewLevels($user_id);
$user_groups = $user->get('groups');
if ($user()->guest) {$user_guest = true;}
if (in_array(10, $user_groups)) {$user_author = true;}
if (in_array(6, $access_levels)) {$user_admin = true;}

А под ваши нужды
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$user_groups = $user->get('groups');
$check_gorup =  $field->value[0]; // ID необходимой группы
if (in_array($check_gorup, $user_groups)) {$user_basic = true;}

Ошибка у вас в лишнее echo  должно быть так
Код
<?php 
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
Пользуйтесь нормальный редактором с подсветкой и проверкой и таких проблем не будет
« Последнее редактирование: 02.06.2016, 00:21:56 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

robert

  • Живу я здесь
  • 4495
  • 421 / 16
Re: Проверка группы пользователя
« Ответ #5 : 02.06.2016, 01:07:26 »
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
« Последнее редактирование: 02.06.2016, 01:32:23 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #6 : 02.06.2016, 09:36:04 »


Здравствуйте robert!

Пожалуйста, объясните, что здесь не так?
*

Wertos

  • Захожу иногда
  • 495
  • 22 / 0
Re: Проверка группы пользователя
« Ответ #7 : 02.06.2016, 09:37:51 »
Здравствуйте robert!

Пожалуйста, объясните, что здесь не так?
Код: php
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
=
Код: php
$user = JFactory::getUser();
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #8 : 02.06.2016, 10:01:36 »
Код: php
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
=
Код: php
$user = JFactory::getUser();

Понял. Спасибо!
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #9 : 02.06.2016, 10:09:04 »

А под ваши нужды
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$user_groups = $user->get('groups');
$check_gorup =  $field->value[0]; // ID необходимой группы
if (in_array($check_gorup, $user_groups)) {$user_basic = true;}

Ошибка у вас в лишнее echo  должно быть так
Код
<?php 
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
Пользуйтесь нормальный редактором с подсветкой и проверкой и таких проблем не будет

Спасибо за ответ и помощь!

вот это у меня работает:
Код
<?php 
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
Скажите, разве мне этого недостаточно? Обязательно ли нужен следующий код?

Вот этот:
Код
$user_id = JFactory::getUser()->id;
$user = JFactory::getUser($user_id);
$user_groups = $user->get('groups');
$check_gorup =  $field->value[0]; // ID необходимой группы
if (in_array($check_gorup, $user_groups)) {$user_basic = true;}

Id группы я устанавливаю в определенном поле для каждого случая (каждой страницы). Если я состою в нескольких группах, то код:
Код
<?php 
$user = JFactory::getUser();
if (in_array($field->value[0], $user->groups)) {echo 'text1';}
else {echo 'text2';}
?>
работает исправно.

Нужна ли еще какая-либо проверка?
*

Septdir

  • Живу я здесь
  • 2738
  • 135 / 3
  • JoomlaZen
Re: Проверка группы пользователя
« Ответ #10 : 02.06.2016, 10:36:22 »
Нужна ли еще какая-либо проверка?
Если работает то не нужна.

И правда видать из проверки конкретного юзера остался, а может просто тупанул
« Последнее редактирование: 02.06.2016, 11:36:16 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

meatrich

  • Новичок
  • 11
  • 0 / 0
Re: Проверка группы пользователя
« Ответ #11 : 02.06.2016, 10:46:10 »
Если работает то не нужна.

Благодарю!
*

Ishti39

  • Захожу иногда
  • 146
  • 8 / 0
Re: Проверка группы пользователя
« Ответ #12 : 11.08.2017, 10:24:26 »

Скажите, если несколько групп, то id как писать, через запятую?
Учиться?учиться и ещё раз учиться
*

Septdir

  • Живу я здесь
  • 2738
  • 135 / 3
  • JoomlaZen
Re: Проверка группы пользователя
« Ответ #13 : 11.08.2017, 10:30:21 »
Скажите, если несколько групп, то id как писать, через запятую?
http://php.net/manual/ru/function.array-intersect.php
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

Ishti39

  • Захожу иногда
  • 146
  • 8 / 0
Re: Проверка группы пользователя
« Ответ #14 : 11.08.2017, 11:06:09 »
http://php.net/manual/ru/function.array-intersect.php
Я в рнр не сильно понимаю, особенно как написать массивы, я этот код вставил:
Спойлер
[свернуть]
вместо id гурппы вставил 10, это id группы, а как ещё добавить 7 и 8 ID групп?
Учиться?учиться и ещё раз учиться
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести дополнительные поля пользователя в материал?

Автор Igor1

Ответов: 13
Просмотров: 491
Последний ответ 03.05.2018, 10:59:52
от Ksenia2009
Имя пользователя и пароль не совпадают или у вас еще нет учетной записи на сайте

Автор romagromov

Ответов: 11
Просмотров: 8184
Последний ответ 21.04.2018, 15:09:11
от Nafanya2k18
Создать пользователя

Автор skylord

Ответов: 9
Просмотров: 202
Последний ответ 31.03.2018, 20:28:20
от effrit
Вывод email после регистрации пользователя

Автор bantell

Ответов: 14
Просмотров: 324
Последний ответ 03.03.2018, 20:24:08
от robert
В группе superuser есть 2 пользователя но виден только один

Автор zuzuzzz

Ответов: 2
Просмотров: 109
Последний ответ 02.02.2018, 11:50:39
от zuzuzzz