ну не догоняю я
Задался целью получить в статье id группы пользователя. Ну никак не могу догнать как работать с моделями. Описывать все мои шаманские действия рука устанет.
То же самое в виджете.
Помогите плз.
Учитывайте, что в двойке у пользователя может быть несколько групп. И они хранятся в таблице cms_users в поле groups в виде yaml.
Вам какого пользователя группы нужны? Который автор статьи, или или самого пользователя, который статью читает?Задался целью получить в статье id группы пользователя.
Нужно получить группу пользователей для автора записи.
Логика такова:
if($group_id_автора_записи = 1) { ... }
$author_profile = cmsCore::getModel('users')->getUser($item['user_id']); if($author_profile['groups'][0] == 1) { ... }
Да.
Я очень хочу разобраться, но пока получается еле-еле. Видимо не могу догнать логику. Когда я самостоятельно пытался провернуть это мероприятие я писал так
$author = cmsCore::getModel('users')->getGroup($item['user_id']);
А вот со второй строчкой… Поправьте меня, если я не прав.
$author_profile — это массив, в который попали все данные пользователя автора ($item['user_id']). Если вывести этот массив через print_r, то мы увидим внутри массива еще массивы, в том числе массив [groups], из которого нужно достать первое значение, а поскольку нумерация с 0, то первое значение [0]. Ну и осталось сравнить. Правильно я понял?
Метод getGroup получает массив параметров группы по её id. То есть если отправить в метод единицу, он выдаст не группы админа, а параметры группы номер 1
Array ( [id] => 1 [name] => guests [title] => Гости [is_fixed] => 1 [is_public] => [is_filter] => )
Да.Правильно я понял?
Да, все верно.Ris, просветите, пожалуйста!
Я предлагал iDrevniy учесть возможность многогрупия, но он сказал, что один человек — одна группа и точка.
Кстати, мысль по поводу: жаль, что нет какого-то разбиения групп к которым принадлежит пользователь (типа — главная и дополнительные).
Или где-то есть?
Кстати, интересная мысль разбить группы по рангу, как по мастям в картах.Или где-то есть?
Но пока скорее всего такого функционала нет. Но было бы интересно сделать, чтобы главной группой у юзера считалась группа с наибольшими правами.
Надо подумать в эту сторону…
Это вряд ли получится. В одном направлении может быть больше прав у одной группы, в другом — у другой. Как определить какие из прав важнее?чтобы главной группой у юзера считалась группа с наибольшими правами
А вот какая-то опция типа "группа по умолчанию" не помешала б.
Так поле типа список в профиле пользователя.А вот какая-то опция типа "группа по умолчанию" не помешала б.
Та не, "не то".
Так поле типа список в профиле пользователя.