Фильтр по наличию. 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'
])}
Но фильтр по наличию не появляется.Может кто подскажет, как его вывести?
Комментарии: 6
Создать поле В наличии и плагин на сохранение, если остаток больше 0 ставить В наличии = 1, иначе 0. И фильтровать по этому полю.
удивительно, что за столько лет нет нормальной реализации
А есть пример такого плагина?
В документации есть пример реализации подобного функционала. Единственное, что вам нужно сделать, адаптировать его под себя
Артём какой-то сложный вариант предлагает. Во-первых, расширить стандартную модель товара можно компонентом msAddFields. Во-вторых, пример плагина действительно есть в документации, но в документации по Modx
Спасибо
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.