Фильтр по наличию. 0 = нет, больше 0 = да. (mFilter2)

Привет, возникла необходимость фильтровать товары по наличию.
Смысл не в том, что бы увидеть товары не в наличии, а что бы их отсечь при необходимости, после других фильтраций и сортировок.

Сниппет вызываю с такими параметрами:
{$_modx->runSnippet('!mFilter2', [
                    'element' => 'msProducts',
                    'loadModels' => 'msproductremains',
                    'suggestions' => '1',
                    'filters' => 'remains|remains:boolean',
                    'resources' => '',
                    'groupby' => 'msProduct.id',
                    'leftJoin' => '{ "Remains":{ "class":"msprRemains","on":"msProduct.id = Remains.product_id" } }',
                    'select' => '{ "msProduct":"*","Remains":"SUM(Remains.remains) as remains" }',
                    'sort' => 'remains|remains:desc,ms_product|publishedon:desc,ms_product|createdby:desc,ms|price:asc',
                    'depth' => '',
                    'includeThumbs' => 'small',
                    'tplOuter' => 'tpl-mFilter2.outer',
                    'tplFilter.outer.default' => 'tpl-mFilter2.filter.outer',
                    'limit' => '12',
                    'tpls' => 'tpl-shop-item'
                ])}
Но фильтр по наличию не появляется.
Может кто подскажет, как его вывести?
Сергей Карпович
10 декабря 2022, 16:07
modx.pro
497
0

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

Артур Шевченко
11 декабря 2022, 00:32
0
Создать поле В наличии и плагин на сохранение, если остаток больше 0 ставить В наличии = 1, иначе 0. И фильтровать по этому полю.
    Сергей Карпович
    11 декабря 2022, 13:56
    0
    удивительно, что за столько лет нет нормальной реализации
      Сергей Карпович
      11 декабря 2022, 16:04
      0
      А есть пример такого плагина?
        Петропавловский Артем
        11 декабря 2022, 19:50
        0
        В документации есть пример реализации подобного функционала. Единственное, что вам нужно сделать, адаптировать его под себя
          Артур Шевченко
          12 декабря 2022, 00:18
          0
          Артём какой-то сложный вариант предлагает. Во-первых, расширить стандартную модель товара можно компонентом msAddFields. Во-вторых, пример плагина действительно есть в документации, но в документации по Modx
        Сергей Карпович
        12 декабря 2022, 09:23
        0
        Спасибо
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          6