Описание
Метод статический: Возвращает список элементов инфоблока по условиям фильтра $arFilter с возможностью сортировки, группировки, постраничной навигации и указания возвращаемых полей.
Поддерживает мультиязычность: при передаче параметра $LANGUAGE_ID возвращаются переведённые значения полей элемента на выбранном языке. Переопределяет базовый метод CIBlockElement::GetList и расширяет его функциональность в рамках мультиязычного подхода.
Фильтр с поддержкой вложенной логики: параметр $arFilter может содержать вложенные массивы условий, где ключами являются числовые индексы. Это позволяет использовать логические группы AND/OR.
Сигнатура метода
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().
При использовании группировки результат может быть массивом сгруппированных данных.
Пример
// Получаем активные элементы на английском языке с сортировкой по дате
$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 в официальной документации Битрикс
Количество показов: 760
Дата изменения: 23.06.2025 14:37:02