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

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

  • Живу я здесь
  • 2880
  • 144 / 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

  • Живу я здесь
  • 4590
  • 428 / 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 »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

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

  • Живу я здесь
  • 2880
  • 144 / 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

  • Живу я здесь
  • 2880
  • 144 / 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

Ответов: 34
Просмотров: 1897
Последний ответ 27.10.2018, 19:46:26
от NewUsers
Дополнительные группы полей по ссылке

Автор ost007

Ответов: 1
Просмотров: 56
Последний ответ 15.10.2018, 15:40:58
от effrit
Отложенная проверка e-mail при регистрации

Автор stepan39

Ответов: 2
Просмотров: 102
Последний ответ 30.09.2018, 01:29:36
от stepan39
Компонент бронирования Solidres. Проверка свобдных мест

Автор nokinfinity

Ответов: 4
Просмотров: 185
Последний ответ 05.09.2018, 18:28:38
от nokinfinity
Отображение группы доп полей

Автор Pryan

Ответов: 0
Просмотров: 125
Последний ответ 29.08.2018, 17:28:52
от Pryan