Состоит ли в группе этот человек?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Имеется ввиду группа-компонент

#1 19 января 2022 в 22:31

Уважаемые форумчане, не выходит одна доработочка

Нужно в профиле пользователя (для него, если он залоген) вывести ссылку на создание группы при условии если он ни в одной группе не состоит.

вот добавил в  \templates\default\controllers\users\profile_view.tpl.php

  1. <?php $user = cmsUser::getInstance();
  2. if(cmsCore::getInstance()->uri_action == $user->id){
  3. if (empty($user->groups)) { ?>
  4. <a id="newprof_add_link" href="/groups/add"><?php echo LANG_USERS_ZAPAN; ?></a>
  5. <?php }
  6.  
  7. } ?>

Но не работает

  1. <?php $user = cmsUser::getInstance();
  2. if(cmsCore::getInstance()->uri_action == $user->id){
  3. echo $user->groups;
  4. } ?>

Выдаёт: array

в своём профиле что состоит в группе, что нет — одинаково

#2 19 января 2022 в 22:55

Выдаёт: array

denmois

Так сделайте

  1. var_dump($user->groups);

Да и смотрите, что там.

#3 19 января 2022 в 23:06

array(1) { [1]=> int(4) } 

Хотя этот чел на в какой группе не состоит !

#4 19 января 2022 в 23:23

Вы не там копаете.

$user->groups — это группы прав: 4 это пользователь, 3- новичок, у админа — 6
Никакого отношения к компоненту группы это не имеет.

#5 19 января 2022 в 23:31

А как вызвать переменную которая отвечает за группы которые в компоненте?

#6 19 января 2022 в 23:32

 Sonat, всё правильно.

 denmois, смотрите таблицу cms_users_groups

#7 19 января 2022 в 23:37

Ну сколько ж можно!? Снова эти группы и группы😡 Мульйон тому, кто уговорит разработчика системы переименовать одни из групп на что угодно!

 denmois, пробуйте так:

  1. $core = cmsCore::getInstance();
  2. $model_communities = $core->getModel('groups');
  3. $user_communities = $model_communities->getUserGroups($profile['id']);
  4. if($user->id == $profile['id'] && $user_communities === false) {
  5. echo 'Создайте группу';
  6. }

Имейте ввиду: код писал ламер!

p.s. поправил (находится ли юзер в всоём профиле в условии)

#8 19 января 2022 в 23:42

Посмотрел

cms_users_groups это как раз и есть Гости, Новые, Пользователи...

#9 19 января 2022 в 23:51

А как вызвать переменную которая отвечает за группы которые в компоненте?

denmois

Уже в файле есть нужная переменная которая выводится на вкладыше групп.

  1. echo $tabs[2][counter];
#10 19 января 2022 в 23:57

 Олег Васильевич, огроменное Вам спасибо!

Я бы предложил Гости, Новые, Пользователи… называть как статус?(

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.