1 — Данный пункт есть в "Персональное меню"
2 — Он выводит список групп на которые я подписан.
3 — Выводит это в стиле выпадающего меню.
В Группах в datasets-panel ссылка /groups/index/my | Мои группы — это группы которые я создал.
В чем собственная тема, если я подписан на 100 групп то выпадающий список в "Персональное меню" превратится в портянку (но это не точно).
А вот собственно и сам вопрос, это не ошибка и специальная ссылка {groups:my} и должна выводить список групп на которые я подписан? Или же всё таки список групп которые я создал?
и еще если я не создал группу может мне и не надо показывать в datasets-panel ссылку на /grups/index/my | Мои группы?
Судя по коду метода getUserGroups github.com/instantsoft/icms2/blob/2782bcf3bb2bab14d3055bf6c8f306cf55dcd51a/system/controllers/groups/model.php#L292 выводятся все группы, в которых состоит пользователь.должна выводить список групп на которые я подписан
Вы можете:
1.
создать свой шаблон меню по аналогии с templates\default\assets\ui\menu.tpl.php и ограничить там вывод количества групп, затем указать этот шаблон меню в виджете аватар templates\default\controllers\users\widgets\avatar\avatar.tpl.php
2.
воспользоваться возможностями css и js, скрыв группы больше нужного количества
if ($action == 'my'){ $groups = $this->model->getUserGroups($this->cms_user->id); if (!$groups) { return false; } foreach($groups as $id => $group){ 'id' => 'group' . $id, 'parent_id' => $menu_item_id, 'title' => $group['title'], 'childs_count' => 0, 'url' => href_to($this->name, $group['slug']) ); } }
if ($action == 'own'){ $groups = $this->model->filterEqual('owner_id',$this->cms_user->id)->get('groups'); if (!$groups) { return false; } foreach($groups as $id => $group){ 'id' => 'group' . $id, 'parent_id' => $menu_item_id, 'title' => $group['title'], 'childs_count' => 0, 'url' => href_to($this->name, $group['slug']) ); } }
Не люблю править системные файлы, поэтому рекомендую сделать отдельным хуком.
По аналогии.
Создать пустой компонент. В нем файл манифест со строкой menu_groups
папку hooks
и в ней такой же файл menu_groups
заменяя по аналогии имя компонента на свое и т.п.
Обновить события
Управитесь быстро.