ГДЕ Состояние в репитере Kentico - PullRequest
0 голосов
/ 07 июня 2018

У меня есть список событий, которые отображаются на странице «События» с использованием повторителя.Каждое событие является типом страницы и имеет поле «EventStartDateTime».Я хочу показать только те события, где дата начала события> = сегодня.Сейчас в поле WHERE в повторителе я использую следующее условие:

(EventStartDateTime >= '{% DateTime.Now #%}') OR (EventStartDateTime = '')

Но на странице нет данных.Так это правильно?

Любая помощь будет принята с благодарностью.Спасибо

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Ваше утверждение будет работать с макросом следующим образом:

(EventStartDateTime >= '{% CurrentDateTime.ToShortDateString() %}')

Ваше второе условие не будет работать, поскольку ваше поле EventStartDateTime (предполагается) является объектом DateTime, поэтомупроверка на пустую строку не будет работать.Вам нужно проверить на NULL.

0 голосов
/ 07 июня 2018

Я проверил ваш код, и он вроде как работает для меня, но я все равно изменю его следующим образом:

(EventStartDateTime >= GetDATE()) OR (EventStartDateTime IS NULL)

Поскольку вторая часть, где вы сравниваете поле «Дата и время» с пустой строкой, неверна,Таким образом, в вашем случае вы не получите никаких данных, если EventStartDateTime не заполнен для каждого элемента.Если это не так, попробуйте удалить условие WHERE и проверить, есть ли у вас данные без него.

С уважением, Драголюб

...