Описание
Метод статический: Возвращает список элементов инфоблока по условиям фильтра $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 в официальной документации Битрикс
Количество показов: 566
Дата изменения: 23.06.2025 13:37:02