Задача простая но непонятно как реализовать, есть ресурс с id 198, у него есть TV field_news типа MIGX с полем date, пытаюсь отфильтровать записи по условию where, где date (тип простой текст) = 2018. Это все нужно для AJAX фильтра.
Вот логика моего снипета. Упростил все максимально для наглядности. В $_GET['date'] из формы по идее должен передаваться параметр. Но в примере напрямую жестко прописал. Проблема в том, что синтаксис условия where для getImageList сложный, и не могу понять как его прописать. Если миновать массив Filtr и напрямую в WHERE прописать условие $where = '{"date:=":"2018"}'; то все работает. Но нужно через массив, так как параметром фильтрации может быить много, и AJAX нужен формат JSON? в снипете это место вот $where = $modx->toJSON(array($filter));
$filter = array();
if($_GET['date']) {
//$filter[] = 'date='.$_GET['date'];
//$filter[] = "{'date:=':'2018'}";
}
if($filter) {
//$where = $modx->toJSON(array($filter));
$where = '{"date:=":"2018"}';
}
$params = array(
'docid' => 198,
'tvname' => 'field-news',
'where' => $where
//'where' => '{"date:=":"2018"}',
);
return $modx->runSnippet('getImageList', $params);
Как реализовать выборку что бы условие WHERE работало с JSON и массивом FILTER?