условие where для выборки тикета по году createdon

Люди добрые! Как грамотно прописать json в вызове getTickets с условием &where, чтобы выбирались тикеты по году в createdon, равного году createdon текущего тикета?
этот и многие аналогичные варианты у меня не сработали
&where=`{"createdon:strtotime:date=`%Y`" : "[[*createdon:strtotime:date=`%Y`]]"}`
научите правописанию, пожалуйста?
Алексей Яковлев
25 июля 2016, 18:01
modx.pro
1 032
0

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

mngatoff
26 июля 2016, 02:04
+2
Эти варианты и не сработают, так как поля «createdon:strtotime:date=`%Y`» в базе нет :)
Кроме
Напишите сниппеты, которые вам будут возвращать timestump начала и конца года. К примеру так:
<?php
if (empty($input)) return '';
$year = date('Y', strtotime($input));
switch ($mode) {
	case 'start':
		$output = strtotime($year . '-01-01 00:00:00');
		break;
	case 'end':
		$output = strtotime($year . '-12-31 23:59:59');
		break;
	default:
		$output = '';
		break;
}
return $output;
А потом вот так как-нибудь:
&where=`{ "createdon:>": "[[!snippet?input=`[[*createdon]]` &mode=`start`]]", "AND:createdon:<": "[[!snippet?input=`[[*createdon]]` &mode=`end`]]" }`
не тестил, могут быть неточности.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2