Группируем наборы

+12
1.21K
Группируем наборы

Компонент позволяет объединять наборы при выводе в смысловые группы. Принцип аналогичен группировке полей. Идея компонента навеяна тикетом github.com/instantsoft/icms2/issues/1360

Решение найдено при финансовой поддержке Константина

Изображение

После установки компонента:

1. Укажите имена групп для наборов

Изображение

Если имена не указать, наборы будут выведены как обычно, одной группой

2. Переименуйте файл templates/modern/controllers/content/category_view_news.tpl.php заменив в нем news на имя типа контента, в котором нужна группировка

Либо в своем аналогичном файле укажите, что хотите выводить наборы с помощью datasets-panel-grouped.tpl.php

заменив

  1. $this->renderAsset('ui/datasets-panel', array(

на

  1. $this->renderAsset('ui/datasets-panel-grouped', array(

3. По умолчанию на мобильных устройствах группы наборов прячутся под кнопку «Показать группы»

Изображение

Отменить это поведение можно в файле templates/modern/assets/ui/datasets-panel-grouped.tpl.php
сменив в начале файла значение параметра 

  1. $need_collapse = true;

на

  1. $need_collapse = false;

Разумеется, вы можете изменить всю верстку в файле datasets-panel-grouped.tpl.php

Ограничения

Компонент предоставляется как есть, бесплатно. Автор не несет никакой ответственности.
Предназначен только для шаблона modern (и дочерних).

Прикреплённый файл:
Скачать 9 Кбскачан 50 раз
Олег Васильевич я Олег Васильевич я 2 года назад #
Комментарий удален
+2
Def Def 2 года назад #

так всеже сначала был спрос и потом появилось решение) а так да, в коробке было бы очень полезно!

0
kalikimaka kalikimaka 1 год назад #

подскажите, как поправить, после имплантации данных наборов, не отображаются иконки выбора отображения списков

Изображение

+1
Zau4man Zau4man 1 год назад #

Предназначен только для шаблона modern (и дочерних).

Судя по скриншоту у вас ни modern. Возможно и дочерний, но не от modern...

0
kalikimaka kalikimaka 1 год назад #

это next modern он на модерне есно

ок, поковыряем

+1
Zau4man Zau4man 1 год назад #

Тогда в пункте 2 не используйте мой файл из архива, а внесите правки вручную. Там одна строчка.

0
kalikimaka kalikimaka 1 год назад #

да все разобрался, тут же «круговая порука», сначала движок смотрит в папку шаблона, если там нет, в папку модерна, если нет в модерне, в дефаулт. В общем в папке next modern надо менять этот шаблон или создавать для каждого ТК, тогда все иконки работают.

Спасибо

0
Сергей Сергей 11 месяцев назад #

Установка не идёт. Parse error: syntax error, unexpected ')' in /public_html/system/controllers/datasetstosets/hooks/form_admin_ctypes_dataset.php on line 36

Как поправить файл? PHP 7.2  может уже пора выше двигать?

+1
My-InstantCMS.Ru My-InstantCMS.Ru 11 месяцев назад #

В админке — компоненты — управление событием, найдите хук form_admin_ctypes_dataset от компонента datasetstosets и отключите 

0
Сергей Сергей 11 месяцев назад #

Нет никак, горит и на этой странице admin/controllers/events

+1
My-InstantCMS.Ru My-InstantCMS.Ru 11 месяцев назад #

Тогда только через БД

0
Сергей Сергей 11 месяцев назад #

В таблице`cms_events` нет form_admin_ctypes_dataset может где ещё поискать?

+1
My-InstantCMS.Ru My-InstantCMS.Ru 11 месяцев назад #

Версия сайта старый? Может работает по манифесту?

0
Сергей Сергей 11 месяцев назад #

2.15.1 

0
My-InstantCMS.Ru My-InstantCMS.Ru 11 месяцев назад #

Странно что нет в базе этого хука.

Отправьте мне файл system/controllers/datasetstosets/hooks/form_admin_ctypes_dataset.php посмотрю что там в строке 36

0
Zau4man Zau4man 11 месяцев назад #

В конце поста ссылка для скачивания. Так будет явно быстрее...

+1
My-InstantCMS.Ru My-InstantCMS.Ru 11 месяцев назад #

Скорей всего из за запятая в строке 35

0
Сергей Сергей 11 месяцев назад #

Точно так, она самая. Благодарю за подсказку.

+1
Zau4man Zau4man 11 месяцев назад #

Проверил на тестовой ночной сборке. Установил. Раскидал наборы новостей в две группы

Изображение

На сайте так

Изображение

Проблем не заметил. По коду в этой строке все хорошо.

Пока из предположений, что при установке дополнения файл «побился». Попробуйте распаковать архив и скопировать содержимое папки package в корень сайта вручную.

0
Сергей Сергей 11 месяцев назад #

Это первое что я провёл, не помогло. Вот и стал искать истину.

0
Zau4man Zau4man 11 месяцев назад #

Да, попробуйте, как советует выше My-InstantCMS.Ru убрать в конце 35 строчки запятую. Она там не нужна.

0
Сергей Сергей 11 месяцев назад #

Отлично, помогло!

0
Саня Саня 11 месяцев назад #

Было бы круто, если бы из разных группировок можно было отфильтровывать одновременно. 

Если смотреть по первому скрину, то чел выбирает — Страну производителя, тип, ёмкость, и выходит результат который показывает полное совпадение. Но наверное для этого лучше использовать свойства, а не наборы?

Еще от автора

Готовый сайт лендинг компании по подбору персонала
Делал два года назад. Заказчик сменил профиль и сайт не пригодился.
Выведем контент группы в списке полей группы
Поле позволяет в списке полей группы вывести последний контент этой группы.
Чиним реферальные ссылки биллинга при закрытом сайте
Проблема такая: если сайт закрыт, то при переходе по реферальной ссылке типа /r/1 пользователя перехватывает компонент Авторизация, и хук биллинга, ко
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.