Сортировка msProducts по опции Дата
Приветствую!
Мероприятия — это товары minishop.
Данные в мероприятиях записаны в опциях.
Есть опция Дата проведения — date_opt.
Нужно сортировать по дате date_opt, чтобы было так:
01.06.2017
02.06.2017
03.06.2017
01.07.2017
02.07.2017
03.07.2017
Сделал так:
Приэтом даты выводятся в таком порядке:
01.07.2017
02.07.2017
03.07.2017
01.06.2017
02.06.2017
03.06.2017
Т.е. по месяцам не сортируется.
Как сделать сортировку в хронологическом порядке?
Мероприятия — это товары minishop.
Данные в мероприятиях записаны в опциях.
Есть опция Дата проведения — date_opt.
Нужно сортировать по дате date_opt, чтобы было так:
01.06.2017
02.06.2017
03.06.2017
01.07.2017
02.07.2017
03.07.2017
Сделал так:
[[!msProducts?
&parents=`1`
&limit=`0`
&deph=`1`
&leftJoin=`{
"msProductOption":{
"class":"msProductOption",
"on":"msProductOption.key = 'date_opt' AND msProductOption.product_id = msProduct.id"
}
}`
&select=`{
"msProduct":"*",
"msProductOption":"value as date_opt"
}`
&sortby=`{"msProductOption.value":"desc"}`
&tpl=`tableRow.tpl`
]]
Приэтом даты выводятся в таком порядке:
01.07.2017
02.07.2017
03.07.2017
01.06.2017
02.06.2017
03.06.2017
Т.е. по месяцам не сортируется.
Как сделать сортировку в хронологическом порядке?
Комментарии: 8
попробуй
"msProductOption":"CAST(msProductOption.value AS DATETIME) as date_opt"
и &sortby=`{"date_opt":"desc"}`
Месяцы правильно выводятся:
06
07
08
а дни с конца:
30
29
28
06
07
08
а дни с конца:
30
29
28
это как???
ты ставиш desc и у тебя должны быть
месяцы
08
07
06
числа с конца…
кароче оно либо с конца, либо с начала…
ты ставиш desc и у тебя должны быть
месяцы
08
07
06
числа с конца…
кароче оно либо с конца, либо с начала…
Стоит desc.
Сортируется так:
22.06.2017
21.06.2017
20.06.2017
03.07.2017
02.07.2017
Сортируется так:
22.06.2017
21.06.2017
20.06.2017
03.07.2017
02.07.2017
date_opt — какой тип опции, какой формат записи?
попробовать привести строку к виду даты и затем уже сортировать…
чисто ради интереса, а дата публикации ресурса тоже в таком виде?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.