Как отфильтровать элементы в Битрикс?

В системе 1C-Bitrix для фильтрации элементов можно использовать различные методы и инструменты.

Один из наиболее распространенных способов - это использование функции GetList, которая позволяет получить список элементов с заданными условиями. Функция GetList принимает параметры фильтрации, сортировки и выборки полей, и возвращает результат в виде массива элементов.

Пример использования функции GetList для фильтрации элементов можно продемонстрировать на примере фильтрации элементов инфоблока по свойству "активен":

$arFilter = array(
    "IBLOCK_ID" => 1, // ID инфоблока
    "ACTIVE" => "Y" // активные элементы
);

$res = CIBlockElement::GetList(
    array("SORT" => "ASC"), // сортировка элементов по возрастанию
    $arFilter, // фильтр
    false, // группировка элементов
    false, // параметры навигации - не используем
    array("ID", "NAME") // выбираем только поля ID и NAME элементов
);

// получаем список элементов
while ($ob = $res->GetNextElement()) {
    $arFields = $ob->GetFields();
    echo $arFields["ID"].": ".$arFields["NAME"]."<br>";
}

Вышеприведенный пример фильтрует элементы инфоблока с ID 1, выбирает только активные элементы и выводит значения полей ID и NAME для каждого элемента.

Кроме использования функции GetList, можно также использовать методы класса CIBlockElement::GetList или класса CIBlock::GetList. Они предоставляют более расширенные возможности для фильтрации элементов, такие как выборка по свойствам элемента, выборка по разделам и другие.

В дополнение к методам классов CIBlockElement и CIBlock, в системе 1C-Bitrix есть еще несколько инструментов для фильтрации элементов, таких как компоненты и API. Однако, методы и инструменты для фильтрации элементов могут различаться в зависимости от версии Bitrix и используемой конфигурации. Более подробную информацию по фильтрации элементов в конкретной версии Bitrix можно найти в официальной документации или на форуме сообщества Bitrix.