mFilter2 вывести товары по критериям

В объект товара добавил поле остатка, как вывести товары через сниппет mFilter2 у которых остаток больше 0?

На данный момент вывожу сниппет таким образом
{$_modx->runSnippet('!mFilter2', [
        	'element' => 'msProducts',
        	'class' => 'msProduct',
        	'showEmptyFilters' => 1,
        	'limit' => 12,
        	'filters' => 'msoption|material,
        	              ms|availability:availability,',
        	'aliases' => 'msoption|material==material,,
        	              ms|availability==available',
        	'ajaxMode' => 'scroll',
            'loadModels' => 'easycomm',
            'where' => '{"class_key":"msProduct"}',
            'leftJoin' => '{
            	"ecThread": {
            		"class": "ecThread",
            		"on": "msProduct.id = ecThread.resource"
            	}
            }',
            'select' => '{
            	"msProduct": "*",
            	"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
            }', ])}
Дмитрий
21 марта 2019, 21:54
modx.pro
1 209
0

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

Баха Волков
22 марта 2019, 08:20
1
0
Во первых, вот это лишнее 'where' => '{"class_key":"msProduct"}',, а во вторых:

'where' => '{"атрибут:оператор":"значение"}',

т.е.

'where' => '{"название поля остатка:>":0}',

Если несколько условий, то:

'where' => '{"class_key":"msProduct","AND:quantity:>":0}',

Если не сработает, отпишись
    Дмитрий
    22 марта 2019, 11:26
    0
    Попробовал 'where' => '{«availability:>»: 0}', и 'where' => '{«class_key»:«msProduct»,«AND:availability:>»:0}', не работает ;(
    Товары просто не выводятся. Имеет ли значение в каком именно порядке я пишу все атрибуты вроде element, aliases, loadModels, where и тд?
      Николай
      22 марта 2019, 13:42
      0
      Никакой разницы, все данные кучей попадают в сниппет, а что в первую очередь использовать, что во вторую, он сам решает.
        Николай
        22 марта 2019, 13:47
        0
        А что за знаки — « », откуда это?) Должны быть кавычки двойные — " "
        И в феноме нельзя писать {, нужно ставить пробел после {. Из примера выше:

        'where' => '{ "class_key":"msProduct" }',

        Тогда уже Fenom воспримет это как строку, а не как команду.
          Николай
          22 марта 2019, 13:59
          0
          Насчёт скобок соврал, работает и без пробелов, то ли раньше не работало, то ли не знаю откуда я это взял)
            Дмитрий
            23 марта 2019, 03:34
            0
            спасибо за помощь!)
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6