Вкладка Администраторы в группах на InstantCMS 2.1.2

+24
2.26K
Привет всем.
Возникла необходимость выводить отдельным списком Администраторов в группах на InstantCMS 2.1.2
В штатных функциях для групп вообще функционал пока оставляет желать лучшего. Задал вопрос на форуме – ни кто не ответил. Пришлось методом проб и ошибок разбираться с логикой работы 2 ветки движка. Да простят меня Создатели за такой хак.

Иллюстрация




Итак, кому нужно будет сделать дополнительную вкладку для группы в которой будут администраторы – прошу следовать за мной (и не забудьте сделать резервную копию всего, а то мало ли).

Для начала создадим вкладку «Администраторы»:
Редактируем файл system/controllers/groups/frontend.php
Строкой 106 вставляем ещё один массив:
  1.  
  2. $menu[] = array(
  3. 'title' => LANG_GROUPS_EDIT_STAFF,
  4. 'controller' => $this->name,
  5. 'action' => $group['id'],
  6. 'params' => "staff",
  7. );
  8.  
Далее для этой вкладки создадим экшн:
Создаем файл group_staff.php в папке system/controllers/groups/actions/
Следующего (а может и есть возможность упростить – делал по аналогии с members) содержания:
  1.  
  2. <?php
  3. class actionGroupsGroupStaff extends cmsAction {
  4. public function run($group){
  5. $user = cmsUser::getInstance();
  6. $template = cmsTemplate::getInstance();
  7. $members = $this->model->getMembers($group['id']);
  8. $staff = $this->model->getMembers($group['id'], groups::ROLE_STAFF);
  9. return cmsTemplate::getInstance()->render('group_staff', array(
  10. 'id' => $group['id'],
  11. 'group' => $group,
  12. 'members' => $members,
  13. 'staff' => $staff,
  14. 'user' => $user,
  15. ));
  16. }
  17. }
  18.  
Теперь нужно сделать вывод всего в шаблон:
Создаем файл group_staff.tpl.php в папке tamplates/ВАШ_Шаблон/controllers/groups/
С содержанием:
  1.  
  2. <?php
  3. $this->setPageTitle(LANG_GROUPS_EDIT_STAFF, $group['title']);
  4. $this->addBreadcrumb(LANG_GROUPS, $this->href_to(''));
  5. $this->addBreadcrumb($group['title'], $this->href_to($group['id']));
  6. $this->addBreadcrumb(LANG_GROUPS_EDIT_STAFF);
  7. ?>
  8.  
  9. <div id="group_profile_header">
  10. <?php $this->renderChild('group_header', array('group'=>$group)); ?>
  11. </div>
  12.  
  13. <div id="group_staff_list" class="striped-list list-32">
  14. <?php foreach($staff as $member) { ?>
  15. <div class="item" id="staff-<?php echo $member['id']; ?>">
  16.  
  17. <div class="icon">
  18. <?php echo html_avatar_image($member['avatar'], 'small'); ?>
  19. </div>
  20.  
  21. <div class="title">
  22. <a href="<?php echo href_to('users', $member['id']); ?>"><strong><?php html($member['nickname']); ?></strong></a>
  23. </div>
  24. </div>
  25. <?php } ?>
  26. </div>
  27.  
В строке php echo html_avatar_image($member['avatar'], 'small'); можно изменить размер аватарки администраторов. Я поставил small.

Вот и все.
+5
Игорь Lu Игорь Lu 9 лет назад #
Хорошо было бы, чтобы это было в настройках групп с админки. Для групп полезная функция будет. Ставлю плюс. v
+2
Glaz Glaz 9 лет назад #
Любое улучшение для групп это плюс. Поэтому плюс.
0
Колян Колян 9 лет назад #
Молодчина!!! наконец второй Человек (PIN первый) обратил внимание на самый важный компонент инстанта группы, всё разделяют да разделяют, а об объединении людей в группы для решения банальных проблем совсем забыли.
+2
Колян Колян 9 лет назад #
Чтобы группы людей могли действовать необходимо сделать:
1. должны приходить уведомления о приглашении в закрытую группу (сейчас только на мыло приходит уведомление)

2. должны приходить уведомления о новостях на стене группы и ответах на комментарии, причём чтоб пользователь мог настроить получать уведомления о всех новостях на стене группы или только ответы на свои комментарии, новости, уведомление должно содержать:
2.1. наименование группы, имя человека разместившего новость + краткое содержание новости
2.2. наименование группы, имя человека разместившего ответ на новость + краткое содержание новости и краткое содержание ответа на новость
2.3. наименование группы, имя человека разместившего ответ на комментарий + краткое содержание новости и краткое содержание ответа на комментарий

3. Сделать каталожек с категориями, подкатегориями файлов группы доступных для закачки и скачки (в настройках указывать кому можно загружать, кому качать эти файлы)
3.1. в каталоге нужно предусмотреть описание файла и картинку к описанию

4. Сделать в списке групп краткое описание группы чтоб его было видно независимо от того закрытая группа или открытая, Встроить нормальный редактор чтоб основное описание группы красиво можно было сделать (а не так как щас редактор комментариев стоит, убожество)

5. Сделать возможность постучаться в группу, а в самой группе для админов вкладку, постучался такойто (как в скайпе тук тук, меня зовут Вася хочу к вам в группу для того-то)

А теперь собственно механизм монетизации (при наличии компонента билинг).
Владелец группы размещает билет на доступ в группу в объявлениях например, чел пополняет баланс свой, покупает билет, владельцу группы приходит уведомление что билет купил Вася и высылает Васе приглашение для доступа в группу.

Вот это группы, это и есть социальность, а щас... к сожалению инстант это просто плюватель контента нах. никому ненужного, вон контакт и однокласники и фейсбуки заплевали уже весь мир, авито напрочь делает ненужными всякие доски объявлений и городские порталы.

Есть у кого желание присоединиться к группе системных инженеров, по созданию Человеческой сети с внутренним баблом неподконтрольным всяким законам рфии, единообразному торговому кодексу сша, адмиралтейскому праву и планетарным трастам? (Присоединиться внеся свой вклад в усовершенствование компонента группы)

р.s. Бомж позже вышлю приглос, в группу "Системных инженеров" вклад уже внёс smile

р.р.s. Системные инженеры это люди способные при помощи грамотной работы с описаниями, помогать группам людей творить грандиозные вещи.
Но прежде чем рассматривать Системы Управления социумом, вернёмся к основам построения материального мира, а также процессам формирования генотипов мозга и мест их расселения.
Жизнь, то есть возможность производства и осуществления обменных процессов, имеется только там, где создана Система Управления и, относительно предельных соотношений в рамках допустимого, производится контроль и развитие той среды, которая и является объектом управления. За пределами созданной среды жизни нет, если за пределами нет другой Системы Управления. Современной физике о Системе Управления ничего не известно. Религия связывает ее с Богом, а шаманы и колдуны - с наличием духов. В действительности Он есть, но не такой им доступный попечитель всего свершаемого ужаса, что нарисовано в Их сказках, как защитное повествование перед ответственностью за содеянное.

Вот сидите вы тут сайтики торгашам строите, нет желания взяться и построить дружно Человеческую соц. сеть и получать всё что необходимо, когда необходимо не думая о цене вопроса?
0
Колян Колян 9 лет назад #
А потом делаем виджет видеочаты и ставим его в разные группы, чел гуляет по группам и попадает в разные видеочаты (делать его на html5 так чтоб не задействовать сервер, технология есть)
0
Колян Колян 9 лет назад #
Не нужно делать каталог файлов в группах! Каталог файлов делаете при помощи контента, публикуете контент, прикрепляете файлы, описания картинки и т.д. от имени группы, если в группе не состоишь а она закрытая (платная) то и контент этой группы недоступен для просмотра.
0
Shuma Shuma 9 лет назад #
У меня почему то не грузится аватар, только имя:(

Еще от автора

Выбор аватарки из личного фотоальбома
На моем сайте пользователей смущало то, что нельзя установить аватарку из личного фотоальбома.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.