Поле в профили пользователя

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Как добавить информацию, о том в какой группе находится пользователь?

#1 6 августа 2016 в 12:03
Добрый час всем.

Разъясните, пожалуйста, мне, дураку, как можно добавить в InstantCMS 2 информацию о том, к какой группе принадлежит профиль? Помню, что в первой версии около кармы указывается, что это либо пользователь, либо модератор, либо администратор и так далее. Например, в стандартном шаблоне css выглядит так:
  1. .user_group_name div {
  2. padding-left:20px;
  3. background-position: left center;
  4. background-repeat: no-repeat;
  5. color:#375E93;
  6. }
Но это только отображение. Как можно реализовать такую возможность в CMS 2?

Всем, кто неравнодушен, огромное человеческое спасибо!
#2 6 августа 2016 в 14:21
РмедиМастер,
ЦСС это просто раскрашивание и позиционирование. А сам вывод группы выглядит так:

  1. <div class="user_group_name">
  2. <div class="{$usr.group_alias}">
  3. {if $cfg.sw_search == 2}
  4. {$usr.grp}
  5. {else}
  6. <a href="/users/group/{$usr.group_id}">{$usr.grp}</a>
  7. {/if}
  8. </div>
  9. </div>
Надо что-то этакое в файл \templates\default\controllers\users\profile_header.tpl.php вставить, чтобы группа пользователя выводилась.
#3 6 августа 2016 в 15:15


РмедиМастер,
ЦСС это просто раскрашивание и позиционирование. А сам вывод группы выглядит так:

  1.  
  2.  
  3. {if $cfg.sw_search == 2}
  4. {$usr.grp}
  5. {else}
  6. {$usr.grp}
  7. {/if}
  8.  
  9.  
Надо что-то этакое в файл \templates\default\controllers\users\profile_header.tpl.php вставить, чтобы группа пользователя выводилась.

Ris

Спасибо.😊Понял, что ничего не понял.
#4 6 августа 2016 в 15:55
РмедиМастер,

А я вот понял, что для вычисления имени группы из её номера придется отдельную функцию делать.
А номер группы замечательно выводится. Файл \templates\default\controllers\users\profile_header.tpl.php строка приблизно 13. Вот код начиная с 9-ой строки:

  1. <div id="user_profile_rates" class="rates"
  2. data-url="<?php echo $this->href_to('karma_vote', $profile['id']); ?>"
  3. data-log-url="<?php echo $this->href_to('karma_log', $profile['id']); ?>"
  4. data-is-comment="<?php echo $this->controller->options['is_karma_comments']; ?>">
  5. <?php html($profile['groups']['0']); ?>
#5 6 августа 2016 в 20:50
Групп же еще может быть несколько. В отличие от 1й ветки…
Вопрос уже поднимался на сайте 100%…
#6 7 августа 2016 в 02:09
ДА! Вопрос уже задавался…
Но все равно желательно выводить к какой группе принадлежит пользователь да же если несколько групп сразу
Администратор, модератор, пользователь…
#7 7 августа 2016 в 16:15


ДА! Вопрос уже задавался…
Но все равно желательно выводить к какой группе принадлежит пользователь да же если несколько групп сразу
Администратор, модератор, пользователь....

MegaRostov

Согласен. Сейчас, кстати, вопрос поищу.
#8 13 августа 2016 в 21:18
Что-то взгрустнулось вечером...
Так вот, если вот такой код

  1. <?php $users_model = cmsCore::getModel('users');
  2. $groups = $users_model->getGroups($profile);
  3. foreach($profile['groups'] as $profgroup){
  4. echo ($groups[$profgroup]['title']), '</br>';}
  5. ?>
вставить в \templates\default\controllers\users\profile_header.tpl.php — выводятся все группы пользователя.
#9 13 августа 2016 в 21:58


Что-то взгрустнулось вечером...
Так вот, если вот такой код

вставить в \templates\default\controllers\users\profile_header.tpl.php — выводятся все группы пользователя.

Ris

А куда именно вставляли код после какой строки?
#10 13 августа 2016 в 22:17

А куда именно вставляли код после какой строки?

Bormed
Что-то я пока об оформлении не задумывался и просто дописал всё это в конец файла. smile

Хотя… если воткнуть всё это вот в таком виде
  1. <?php
  2. $users_model = cmsCore::getModel('users');
  3.  
  4. echo "Группы пользователя: ";
  5.  
  6. $groups = $users_model->getGroups($profile);
  7.  
  8. foreach($profile['groups'] as $profgroup){ ?>
  9.  
  10. <div class = "groups<?php echo($groups[$profgroup]['id']) ?>">
  11.  
  12. <?php echo $groups[$profgroup]['title'];}?>
  13.  
  14. </div>
после тэга </h1>, а в стили дописать что-то типа этого
  1.  
  2. .groups6 {
  3. color:red;
  4. }
  5. .groups5 {
  6. color:green;
  7. }
  8. .groups4 {
  9. color:blue;
  10. }
  11. .groups3 {
  12. color:gray;
  13. }
  14.  
то получается достаточно веселенькая расцветка.

#11 14 августа 2016 в 18:20


А куда именно вставляли код после какой строки?

Bormed
Что-то я пока об оформлении не задумывался и просто дописал всё это в конец файла. smile

Хотя… если воткнуть всё это вот в таком виде
  1.  
  2.  
  3.  
  4.  
  5.  
после тэга, а в стили дописать что-то типа этого
  1.  
  2. .groups6 {
  3. color:red;
  4. }
  5. .groups5 {
  6. color:green;
  7. }
  8. .groups4 {
  9. color:blue;
  10. }
  11. .groups3 {
  12. color:gray;
  13. }
  14.  
то получается достаточно веселенькая расцветка.

Ris

Спасибо! Вы гений! :)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.