Помогите составить where запрос migx

В полях migx содержаться даты начала и окончания показа элементов, требуется составить where запрос который выводил бы изображение только в определенный промежуток дат, или изображения у которых не указана дата начала и окончания показа. Например в migx полях даты начала datefrom указано 19-04-2016 00:00:00 а дата окончания dateto указана 25-04-2016 00:00:00 в данный промежуток дней требуется показывать изображение.

[[!getImageList?
            &tvname=`partners`
            &docid=`90,111,32`
            &limit=`3`
            &tpl=`tpl_partners_head`
            &randomize=`1`
            &where=`{"datefrom:<=": "[[!dateToTime? &date=`now_time`]]","dateto:>": "[[!dateToTime? &date=`now_time`]]" OR "datefrom:<=": "","dateto:>": ""}`
        ]]
Так-же не получается реализовать рандомную выборку из трех migx ресурсов, getImageList подхватывает только первый id.
Алексей Соин
21 апреля 2016, 08:37
modx.pro
1 317
0
Поблагодарить автора Отправить деньги

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

Сергей Леоненко
22 апреля 2016, 06:17
0
Тебе нужно сформировать запрос иначе:
$query->where(
	array(
		'date BETWEEN "' . date('Y-m-d', strtotime("-1 month")) .
		'" AND  "'.date('Y-m-d').'"'
	)
);
в json:

&where=`["date BETWEEN 'today' AND 'tomorrow'"]`
    Алексей Соин
    22 апреля 2016, 12:53
    0
    не совсем пойму данную логику, запрос я переписал так:
    &where=`{"datefrom:<=":"[[!dateToTime? &day=`now_time`]]","OR:datefrom":"","dateto:>":"[[!dateToTime? &day=`now_time`]]","OR:dateto":""}`
    Теперь не срабатывает запрос OR, в нём должно быть чтото типо выводить если в поле пусто
    Сергей Леоненко
    22 апреля 2016, 14:46
    0
    Попробуй так:
    &where=`{"([[!dateToTime? &day=`now_time`]] BETWEEN 'datefrom' AND 'dateto' OR `` AND ``)"}`
      Алексей Соин
      25 апреля 2016, 14:10
      0
      почему-то такой вариант не проходит, он все поля выкидывает
      Сергей Леоненко
      22 апреля 2016, 14:50
      0
      Второй вариант кажется в данном случае было бы правельнее написать свой сниппет.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5