FCIBlockElement::GetList

Описание

Метод статический: Возвращает список элементов инфоблока по условиям фильтра $arFilter с возможностью сортировки, группировки, постраничной навигации и указания возвращаемых полей. Поддерживает мультиязычность: при передаче параметра $LANGUAGE_ID возвращаются переведённые значения полей элемента на выбранном языке. Переопределяет базовый метод CIBlockElement::GetList и расширяет его функциональность в рамках мультиязычного подхода.

Фильтр с поддержкой вложенной логики: параметр $arFilter может содержать вложенные массивы условий, где ключами являются числовые индексы. Это позволяет использовать логические группы AND/OR.

Сигнатура метода

Code Copy code Code copied!
1
2
3
4
5
6
7
8
9
FCIBlockResult
FCIBlockElement::GetList(
 array $arOrder = ["SORT" => "ASC"],
 array $arFilter = [],
 mixed $arGroupBy = false,
 mixed $arNavStartParams = false,
 array $arSelectFields = [],
 string $LANGUAGE_ID = LANGUAGE_ID,
);

Параметры вызова

Параметр Описание С версии
arOrder Массив полей для сортировки (ключ — имя поля, значение — направление ASC/DESC). 1.0.0
arFilter Массив условий фильтрации. Поддерживает вложенные условия с числовыми ключами (группы логики AND/OR). 1.0.0
arGroupBy Массив полей для группировки или false для отключения группировки. 1.0.0
arNavStartParams Массив параметров постраничной навигации или false для вывода всех результатов. 1.0.0
arSelectFields Массив имён полей, которые требуется выбрать. По умолчанию выбираются все основные поля. 1.0.0
LANGUAGE_ID Код языка, на котором требуется вернуть переведённые данные. Если не задан, используется текущий язык сайта (LANGUAGE_ID). 2.5.100

Возвращаемое значение

Метод возвращает объект FCIBlockResult, содержащий список элементов инфоблока на выбранном языке. Для перебора результатов используется метод GetNext(). При использовании группировки результат может быть массивом сгруппированных данных.

Пример

Code Copy code Code copied!
1
2
3
4
5
6
7
8
9
10
11
// Получаем активные элементы на английском языке с сортировкой по дате
$arOrder = ['ACTIVE_FROM' => 'DESC'];
$arFilter = ['ACTIVE' => 'Y', 'IBLOCK_ID' => 1];
$arSelect = ['ID', 'NAME', 'PREVIEW_TEXT'];
$LANG = 'en';

$res = FCIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect, $LANG);

while ($arItem = $res->GetNext()) {
    echo $arItem["NAME"] . "<br>";
}

Примечание: Начиная с версии 2.5.100, в метод FCIBlockElement::GetList добавлен параметр $LANGUAGE_ID, позволяющий задать нужный язык вручную для получения мультиязычного контента.

Описание метода CIBlockElement::GetList в официальной документации Битрикс

Количество показов: 566
Дата изменения: 23.06.2025 13:37:02