Компонент «Папки групп» 2.X

693
Компонент «Папки групп»
Компонент позволяет создавать различные наборы папок для каждой отдельно взятой группы.

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


Данный компонент приобретается единожды и после приобретения вы можете использовать его безо всяких ограничений на всех ваших сайтах без права передачи третим лицам. Код компонента полностью открыт.

Компонент «Товары и дилеры» | Компонент «Управление книгами»
Комментарии (11)
Сергей 28 июля 2020 в 13:42 0
Вот такой он DWD, всюду ему надо навести порядок laugh . Работает отлично, группы очень в этом нуждались.
Но есть вопрос:
можно сделать чтобы вкладка разрешённого к обязательной публикации в группах типа контента, показывалась даже пустой, и наверно писала пока нет материалов?
dwd 28 июля 2020 в 17:27 +1
Если я правильно вас понял, то вопрос о вкладках типов контента в группе. Если да, то это как бы не совсем к компоненту вопрос. В файле system/controllers/groups/frontend.php есть строка 540

Код PHP:
  1. if (!$count['is_in_list'] || !$count['count']) { continue; }
которая призвана игнорировать вкладки для типов контента у которых отключен просмотр списка записей и типов контента с нулевым количеством записей.
Сергей 28 июля 2020 в 18:31 0
Я понимаю что компонент здесь не причём. scratch Подумал раз вы такие компоненты пишите уж наверно знаете как это победить. Огромное вам спасибо. Сейчас я эту строку аннулирую, с помощью вашего кстати компонента "ХУКИ" и при обновлении движка нечего не слетит dance
Сергей 10 августа 2020 в 19:12 0
Очень отменно всё работает, laugh продолжаю доламывать вами созданное. Подскажите можно что нибудь удалить в коде, дабы избавится от папки ВСЕ, коротая создаётся автоматически? Что бы список начинался с первой созданной папки. ( Папка 1, Папка 2, Папка 3, и.т.д.)
dwd 10 августа 2020 в 19:55 +1
В файле templates/default/controllers/groups/group_content.tpl.php найдите и удалите строки
Код PHP:
  1. <li class="<?php if(!$core->groups_folder){?>active <?php } ?> all" rel="">
  2. <a href="<?php echo $ds_url; ?>"><?php echo LANG_GFOLDERS_ALL; ?></a>
  3. </li>
Сергей 10 августа 2020 в 20:49 0
Благодарю, получилось но не совсем.
После открытия вкладки типа контента в группе попадаем groups/3/content/news где нет папки ВСЕ.
А хочется попадать сразу на первую папку groups/3/content/news/Папка 1
dwd 10 августа 2020 в 21:06 +1
можно что нибудь удалить в коде, дабы избавится от папки ВСЕ, коротая создаётся автоматически?
Благодарю, получилось но не совсем.
Странное сочетание задачи и результата. От какой-то из букв избавиться не удалось?))

А хочется попадать сразу на первую папку groups/3/content/news/Папка 1
Вот тут в вашем вопросе есть и ответ - чтобы попадать в папку нужно либо переходить по url папки, либо как-то объяснить, что данная папка является папкой по умолчанию. Учитывая, что у каждой группы свои папки не похожие на папки других групп самым логичным было бы добавление такой опции в интерфейс управления папками. При создании первой папки она автоматически назначается активной, При появлении 2 и более папок владелец группы может ее переназначить. И если в url не указана папка, то компонент будет отображать папку по умолчанию. И я не могу дать вам рецепт в формате комментария, для этого требуется много правок в разных файлах.
dwd 10 августа 2020 в 21:43 +1
Код PHP:
  1. <?php
  2. class onGfoldersContentListFilter extends cmsAction {
  3.  
  4. public function run($data) {
  5.  
  6. $core = cmsCore::getInstance();
  7. //if(!$core->groups_folder) return $data;
  8. list($ctype, $model) = $data;
  9.  
  10. if(is_numeric($core->uri_action)){
  11. $this->model->filterEqual('id', $core->uri_action);
  12. } else {
  13. $this->model->filterEqual('slug', $core->uri_action);
  14. }
  15.  
  16. $group = $this->model->getItem('groups');
  17. if(!$group) return array($ctype, $model);
  18.  
  19. if($core->groups_folder) $this->model->filterEqual('slug', $core->groups_folder);
  20. $this->model->filterEqual('group_id', $group['id']);
  21. $folder = $this->model->getItem('content_folders');
  22.  
  23. if($folder){
  24. $model->filterEqual('folder_id', $folder['id']);
  25. $core->groups_folder = $folder['slug'];
  26. }
  27.  
  28. return array($ctype, $model);
  29.  
  30. }
  31.  
  32. }
Сергей 11 августа 2020 в 12:00 0
Ваш юмор оценил, буквы пропали все, даже в место фона кнопки не появилась белая бездна, папки как и положено сдвинулись влево.
Выглядит всё отлично!
Вчера уснул носом в клаву, продонте laugh . Это куда добавить надо?
dwd 11 августа 2020 в 13:08 +1
Это содержимое файла system/controllers/gfolders/hooks/content_list_filter.php, измененное под вашу задачу. Если url папки не был задан, то по умолчанию будет выводиться первая папка с ее содержимым.
Сергей 13 августа 2020 в 13:56 0
Всё работает отменно! DWD огромное спасибо! Теперь папки групп в двух редакциях, отображение во вкладке со списком ВСЕ и без этого списка.
Думаю надо для новых пользователей расписать зачем?
Появилась возможность вывести во вкладке типа контента группы в отдельной папке группы поля, которые мы скрываем не показываем в обычном списке типа контента.
На пример, прайсы, документы, карты, чаты , сторонние скрипты ява и не только ява. Всё то что нельзя вывести из-за кучимолы в списке, списка ВСЕ теперь нет, в каждой папке группы выводим одно такое поле, вот кучамола пропала. laugh