Проблема с where и sortby в fenom
Стоит последняя актуальная версия pdoTools.
Делаю все вроде как по инструкции, но в запрос условия where и sortby не добавляются никак. Через showlog не видно.
Пример вызова:
Собственно вопрос: ЧЯДНТ?
Делаю все вроде как по инструкции, но в запрос условия 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
'
])}
Собственно вопрос: ЧЯДНТ?
Комментарии: 8
Условия в виде массива в msProducts не принимаются, потому что он ожидает их всегда в виде JSON. Придётся так и указывать:
Кстати, если очень хочется использовать именно массивы — то можно воспользоваться тем, что json_encode в Fenom является разрешённой PHP функцией:
{$_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
'
])}
С сортировкой помогло в json_encode. Обычный json не работает никак, пробовал и в {ignore} заключать из-за фигурных скобок, все равно. После json_encode where добавляется, но условия не работают, которые :>=.
Ну я не знаю. У меня, как обычно, всё само работает:
Проверяй, чтобы твой JSON корректно декодировался.
Ну и версия MS2.1.12-pl у меня, может в новой что-то поменялось.
Проверяй, чтобы твой JSON корректно декодировался.
Ну и версия MS2.1.12-pl у меня, может в новой что-то поменялось.
Спасибо. Вроде все как надо заработало.
А если нужно передать параметр, то как быть?
Я так понимаю
Я так понимаю
'where' => '{
"id:!=": $_modx->resource.id
}'
не будет работать? 'where' => '{
"id:!=": '~ $_modx->resource.id ~'
}'
Спасибо!
Ребята подскажите как это в fenom исполнить, не могу сообразить
&where=`{«tags:LIKE»:"%[[!getUrlParam? &name=`tag`]]%"}`
&where=`{«tags:LIKE»:"%[[!getUrlParam? &name=`tag`]]%"}`
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.