[SelectFilters] - выбор фильтров для mFilter2



Всем привет, написал простенькое дополнение которое решает одну очень надоевшую проблему — клиент не может выбирать какие опции miniShop2 попадут в фильтр товаров mFilter2. В общем дополнение добавляет чекбокс в окно создания и редактирования опций, в комплекте также сниппет подготовки поля 'filter'


Использование


Перед вызовом mFilter2 вызываем сниппет SelectFilters, в default передаем свойства, которые не относятся к msOption
{set $filters = '!SelectFilters' | snippet: [
    'default' => [
        'ms|price:number', 'ms|vendor:vendors'
    ]
]}
В сниппете mFilter2 в параметре filters указываем нашу переменную

'filters' => $filters

Сниппет getCaption


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

Использование

Использование сниппета максимально простое: сниппет ждет на вход ключ msOption.
В outer чанка вывода примените модификатор getOption, вот например как это выглядело бы в стандартном чанке tpl.mFilter2.filter.outer

<fieldset id="mse2_{$table}{$delimeter}{$filter}">
    <!-- <h4 class="filter_title">[[%mse2_filter_[[+table]]_[[+filter]]]]</h4> -->
	<h4 class="filter_title">{$filter | getCaption}</h4>
	{$rows}
</fieldset>
Вот собственно и все, дополнение бесплатное и скоро надеюсь появится в modstore

Исходники
Modstore
Pavel Zarubin
03 декабря 2019, 18:58
modx.pro
4
176
+15
Поблагодарить автора Отправить деньги

Комментарии: 11

Sergey
03 декабря 2019, 19:06
0
Прикольно. Немного похоже на msProductsComposerSelection
    Pavel Zarubin
    03 декабря 2019, 19:12
    0
    Хз, не использовал его если честно)
    Pavel Zarubin
    03 декабря 2019, 19:12
    0
    В ближайших планах:
    Добавить select выбора чанка вывода опции прямо в окно создания / редактирования опции

    github.com/pavel-one/SelectFilters/issues/2
      Олег Щавелев
      03 декабря 2019, 19:26
      0
      Павел молодец. То же думал запилить. Разобрался как раз с полями. Но хотел отдельный вкладкой запилить.
      Здоров Александр
      03 декабря 2019, 20:39
      0
      круто, спасибо за дополнение!
      вопрос, а порядок фильтров сейчас как строится? например, чтобы было можно выставить собственный приоритет позиций.
      igos
      03 декабря 2019, 22:38
      +1
      написал простенькое дополнение которое решает одну очень надоевшую проблему — клиент не может выбирать какие опции miniShop2 попадут в фильтр товаров mFilter2
      Получается единый набор опций для всех категорий? Есть (или может планируется ) возможность их разделить по категориям?
        Pavel Zarubin
        04 декабря 2019, 03:21
        0
        Получается единый набор опций для всех категорий? Есть (или может планируется ) возможность их разделить по категориям?
        А в случае если вы выводите опции без дополнения у вас не единый набор?) По моему что с дополнением, что без него у вас и так один и тот же набор, а вот выводить опцию или нет уже решает сам mFilter
          igos
          04 декабря 2019, 03:28
          0
          Всё верно, набор единый. Но я говорю про кейс от клиента, у меня он максимально часто встречается:

          Есть опция, она привязана ко всем категориям на сайте, заполнена во всех товарах. Клиент хочет её выводить в фильтр только в некоторых категориях. Ну и таких опций на сайте естественно много, а клиент хочет этим управлять, вкл/выкл :)

          UPD.: я юзаю вышеупомянутый msProductsComposerSelection для этого, но решил уточнить, вдруг и здесь планируется такое счастье.
            Pavel Zarubin
            04 декабря 2019, 11:19
            +1
            Есть опция, она привязана ко всем категориям на сайте, заполнена во всех товарах. Клиент хочет её выводить в фильтр только в некоторых категориях. Ну и таких опций на сайте естественно много, а клиент хочет этим управлять, вкл/выкл
            Ну увы, это дополнение не про это, я с пол года работал в «студии» где делал «сайты» на потоке, когда делаешь говносайты на потоке (2-3 дня на сайт) такие кейсы редко встречаются)

            я юзаю вышеупомянутый msProductsComposerSelection для этого, но решил уточнить, вдруг и здесь планируется такое счастье.
            Нет, не планируется, все что планируется на данный момент можно посмотреть тут github.com/pavel-one/SelectFilters/issues
              igos
              04 декабря 2019, 13:06
              0
              Для простых каталогов однозначно круто-полезно будет :) спасибо за дополнение!
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        11