@lexstile

Как сделать фильтр, сравнивая текущую дату с датой из доп. свойства?

$date = time();
$arFilter = array('PROPERTY_SEMINAR_STATUS' => 45,'ROPERTY_SEMINAR_END'=>?); 
$APPLICATION->IncludeComponent(
	"bitrix:news.list",
	"obuchenie",
	Array(
		"IBLOCK_ID" => "24",
		"PROPERTY_CODE" => Array(0=>"SEMINAR_START",1=>"SEMINAR_END",2=>"SEMINAR_CITY",3=>"SEMINAR_PLACE",4=>"SEMINAR_STATUS"),
		"SORT_BY1" => "ACTIVE_FROM",
		"SORT_BY2" => "SORT",
		"SORT_ORDER1" => "DESC",
		"SORT_ORDER2" => "ASC",
		"FILTER_NAME" => "arFilter",
		"CACHE_FILTER" => "Y"
	)
);

Нужно выбрать только те элементы, где SEMINAR_END был меньше текущей даты, как это реализовать?
  • Вопрос задан
  • 816 просмотров
Решения вопроса 1
gromdron
@gromdron
Работаю с Bitrix24
Согласно документации:

Перед названием фильтруемого поля можно указать тип проверки фильтра:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно
  • "><" - между
  • и т.д.


Значения фильтра - одиночное значение или массив значений. Для исключения пустых значений необходимо использовать false.

Необязательное. По умолчанию записи не фильтруются.
Примечание 1: (по настройке фильтра для свойства типа "Дата/Время"): свойство типа Дата/Время хранится как строковое с датой в формате YYYY-MM-DD HH:MI:SS. Соответственно сортировка по значению такого свойства будет работать корректно, а вот значение для фильтрации формируется примерно так: $cat_filter[">"."PROPERTY_available"] = date("Y-m-d");

Примечание 2: при использовании типа проверки фильтра "><" для целых чисел, заканчивающихся нулем, необходимо использовать тип поля число или разделительный знак "," для десятичных значений (например, 20000,00). Иначе работает не корректно.


">PROPERTY_SEMINAR_END" => date('Y-m-d)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы