Проблема с where и sortby в fenom

Стоит последняя актуальная версия pdoTools.

Делаю все вроде как по инструкции, но в запрос условия where и sortby не добавляются никак. Через showlog не видно.

Пример вызова:

{$_modx->runSnippet('!msProducts', [
    'parents' => 3,
    'sortby' => [
        'Data.new' => 'desc',
        'msProduct.editedon' => 'desc'
    ],
    'includeThumbs' => '150x150',
    'where' => [
        'Data.price:>=' => 0
    ],
    'limit' => 4,
    'showLog' => true,
    'tpl' => '@INLINE
		bla-bla-bla
	'
])}

Собственно вопрос: ЧЯДНТ?
Іван Клімчук
30 августа 2015, 21:00
modx.pro
6
6 545
+1

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

Василий Наумкин
31 августа 2015, 05:54
4
0
Условия в виде массива в msProducts не принимаются, потому что он ожидает их всегда в виде JSON. Придётся так и указывать:
{$_modx->runSnippet('!msProducts', [
    'parents' => 3,
    'sortby' => '{
        "Data.new": "desc",
        "msProduct.editedon": "desc"
    }',
    'includeThumbs' => '150x150',
    'where' => '{
	"Data.price:>=": 0
    
    }',
    'limit' => 4,
    'showLog' => true,
    'tpl' => '@INLINE
		bla-bla-bla
	'
])}
У pdoResources такой проблемы нет.

Кстати, если очень хочется использовать именно массивы — то можно воспользоваться тем, что json_encode в Fenom является разрешённой PHP функцией:
{$_modx->runSnippet('!msProducts', [
    'parents' => 3,
    'sortby' => json_encode([
        "Data.new" => "desc",
        "msProduct.editedon" => "desc"
    ]),
    'includeThumbs' => '150x150',
    'where' => json_encode([
	    "Data.price:>=" => 0
    ]),
    'limit' => 4,
    'showLog' => true,
    'tpl' => '@INLINE
		bla-bla-bla
	'
])}
    Іван Клімчук
    31 августа 2015, 08:55
    0
    С сортировкой помогло в json_encode. Обычный json не работает никак, пробовал и в {ignore} заключать из-за фигурных скобок, все равно. После json_encode where добавляется, но условия не работают, которые :>=.
    nekto
    29 июня 2016, 15:59
    0
    А если нужно передать параметр, то как быть?
    Я так понимаю
    'where' => '{
    	"id:!=": $_modx->resource.id
        
        }'
    не будет работать?
Кирилл
16 сентября 2017, 01:50
0
Ребята подскажите как это в fenom исполнить, не могу сообразить
&where=`{«tags:LIKE»:"%[[!getUrlParam? &name=`tag`]]%"}`
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    8