[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
5
799
+15
Поблагодарить автора Отправить деньги

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

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, 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
            Для простых каталогов однозначно круто-полезно будет :) спасибо за дополнение!
      Юрий
      16 декабря 2019, 15:29
      0
      Подскажите. У меня если отметить «Показать в фильтрах», а потом снять отметку то она возвращается. Получается что я не могу удалить опцию из фильтра если один раз её добавил?
        Pavel Zarubin
        16 декабря 2019, 15:50
        0
        Поправил, обновитесь
        Юрий
        16 декабря 2019, 16:09
        0
        Обновился не помогло
          Pavel Zarubin
          16 декабря 2019, 16:10
          0
          Кэш браузера пробовали очищать? Еще раз проверил, у меня все работает
          Юрий
          16 декабря 2019, 16:12
          0
          Да, я всё вычистил. кеш браузера, core/cashe, Полностью удалил дополнения. Переустановил не помогло. Убираю галочку. Сохраняю открываю опцию галочка на месте.
            Pavel Zarubin
            16 декабря 2019, 16:16
            0
            Не знаю) Попробуйте с инкогнито) Поднял тестовый, на нем тоже все ок

            s20760.h10.modhost.pro/manager/
            s20760
            JeKS3eJ9BCQi
            Юрий
            16 декабря 2019, 16:26
            0
            Дополнение работает. В инкогнито работает. Возвращаюсь в обычный режим не удаляется. Буду искать. Спасибо
              Maxim
              23 октября 2020, 03:08
              0
              Подскажите как сделать чтобы автоматически понимало что поле нужно выводить не чекбоксами а слайдером, как фильтрация по цене?
              А то у меня получаются все значения чекбоксами выводить
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                22