Если бы передаваемые в фильтр значения работали, но не отрабатывали:
$filter['PROPERTY_ARCHIVE'] = ключ свойства
или $filter['PROPERTY_ARCHIVE_VALUE'] = значение свойства
то мы бы вместо всех элементов не получали ни 1 элемента
Я решил с помощью своего гетлист и фильтрацией по нужным свойствам:
$arSelect = ['*', 'PROPERTY_*'];
$arFilter = ["IBLOCK_ID" => 4, 'ACTIVE' => 'Y'];
$navParams = ['nPageSize' => 10];
if (isset($filter['reward']) && !empty($filter['reward'])) {
$arFilter['PROPERTY_GRATITUDE_VALUE'] = 'Цветы';
}
$res = CIBlockElement::GetList(["DATE_CREATE" => "DESC"], $arFilter, false, $navParams, $arSelect);
while ($ob = $res->GetNextElement())
{
$awards[] = $ob->GetFields();
$awards[]['PROPERTIES'] = $ob->GetProperties();
}
Но не работает если искать по ключу свойства, то есть:
$arFilter['PROPERTY_GRATITUDE'] = 'flowers';
то элементов на странице не будет