ID группы пользователя в комментариях

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

Вывести группу пользователя в шаблоне комментариев

#1 6 апреля 2024 в 05:34

Надо вевести ID группы пользователя в комментариях. Вернее, вывести ссылку в зависимости от группы пользователя, но это уже детали.

На форуме нашел вот такое решение для comments.tpl.php :

instantcms.ru/forum/kak-vyvesti-imja-gruppy-v-profile-i-kommentarijah.html

$users_model = cmsCore::getModel('users');
$profile = $users_model->getUser($entry['user_id']);
$groups = $users_model->getGroups($profile); 
foreach($profile['groups'] as $profgroup);

    <div class = «groups<?php echo($groups[$profgroup]['id']) ?>»>  
        <?php echo $groups[$profgroup]['title']?>
    </div>

Конструкция работает, но есть нюанс. Если разрешен постинг комментов от незарегистрированных пользователей, то начинает ругаться на foreach

Warning

: Trying to access array offset on value of type bool in 

: foreach() argument must be of type array|object, null given in 

Предупреждение, но все же хочется, что б все работало как надо

Подскажите, можно грамотно пофиксить?

#2 6 апреля 2024 в 09:40

Чтобы убрать варнинг надо обернуть foreach в условие

  1. if (!empty($profile['groups'])){
  2. // тут весь foreach
  3. foreach ($profile['groups'] as $profgroup){
  4. ....
  5. }
  6. }
#3 6 апреля 2024 в 11:42

Вооот! Обернуть я догадался, но только оборачивал вывод, а где и как обернуть правильно не допер.

Спасибо огромное, все заработало!

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