Новости Joomla

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

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
  • 720 / 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

  • Живу я здесь
  • 3370
  • 168 / 4
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 »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

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

  • Захожу иногда
  • 489
  • 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

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

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

meatrich

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

Благодарю!
*

Ishti39

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

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

Septdir

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

Ishti39

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

Я создал пользователя Author, но он не может зайти в редактирование

Автор Olegus79

Ответов: 7
Просмотров: 481
Последний ответ 19.10.2023, 20:48:52
от Vastriet
Сохранение авторизации пользователя при переходе на поддомен

Автор denism300

Ответов: 2
Просмотров: 386
Последний ответ 14.11.2022, 11:35:14
от denism300
Проверка наличия пользователя на сайте

Автор Robert24

Ответов: 6
Просмотров: 314
Последний ответ 15.10.2022, 14:40:51
от marksetter
Не выполняется проверка решений reCAPTCHA

Автор Scaltro

Ответов: 1
Просмотров: 544
Последний ответ 07.07.2022, 22:26:59
от ProtectYourSite
Проверка на группу Супер администратора

Автор lgmax

Ответов: 2
Просмотров: 598
Последний ответ 28.04.2021, 10:43:47
от lgmax