Документация для разработчиков
Темная тема

GetList

Описание

CDBResult CIBlock::GetList(
	array arOrder = Array("SORT"=>"ASC"),
	array arFilter = Array(),
	bool bIncCnt = false
);

Возвращает список информационных блоков по фильтру arFilter отсортированный в порядке arOrder. Метод статический.

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

Возвращается объект CDBResult.

Смотрите также

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

ПараметрОписание С версии
arOrder Массив для сортировки результата. Содержит пары "поле сортировки"=>"направление сортировки". Поле для сортировки может принимать значения:
  • id - код инфоблока;
  • iblock_type - тип инфоблоков;
  • name - название инфоблока;
  • active - активность;
  • code - символьный код;
  • sort - индекс сортировки;
  • element_cnt - количество элементов (только если bIncCnt = true);
  • timestamp_x - дата последнего изменения.
arFilter Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]). Фильтруемое поле может принимать значения:
  • ACTIVE - фильтр по активности (Y|N);
  • NAME - по названию (можно искать по шаблону [%_]);
  • EXTERNAL_ID, XML_ID - по внешнему коду (можно искать по шаблону [%_]);
  • SITE_ID - по сайту;
  • TYPE - по типу инфоблоков (можно искать по шаблону [%_]);
  • CODE - по символьному коду (можно искать по шаблону [%_]);
  • ID - по коду;
  • VERSION - по флагу хранения значений свойств элементов инфоблока;
  • SOCNET_GROUP_ID - по идентификатору группы социальной сети в которой используется инфоблок;
  • CNT_ACTIVE - только если bIncCnt = true. Если значение Y, то при подсчете элементов будут учитываться только активные элементы, при любом другом значении все элементы;
  • CNT_ALL - только если bIncCnt = true. Если значение Y, то при подсчете элементов будут учитываться и те элементы, которые ещё не были опубликованы. При любом другом значении все элементы;
  • MIN_PERMISSION - фильтр по правам доступа, по умолчанию принимает R (уровень доступа Чтение).
  • CHECK_PERMISSIONS - если "N", то права на доступ не проверяются.
    Если проверка прав не нужна, то для ускорения запроса следует указывать значение "N". Кроме того, если не указать данный параметр в фильтре или при создании инфоблока не изменить параметр по умолчанию "нет доступа", то результат выдачи обычному пользователю будет пустым.
  • PERMISSIONS_BY - фильтрация по правам произвольного пользователя. Значение - ID пользователя или 0 (неавторизованный).
Перед названием фильтруемого поля можно указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно
Все фильтруемые поля кроме (CHECK_PERMISSIONS, MIN_PERMISSION, CNT_ALL и CNT_ACTIVE) могут содержать перед названием тип проверки фильтра.
"значения фильтра" - одиночное значение или массив.

Необязательное. По умолчанию записи не фильтруются.
bIncCnt Возвращать ли количество элементов в информационном блоке в поле ELEMENT_CNT. Необязательный параметр, по умолчанию равен false. 3.0.6

Примеры использования

Примечание: при копировании кода в свой проект рекомендуется убрать необязательный параметр bIncCnt (если он не используется), чтобы избежать проблем с производительностью.

<?
// выберем все активные информационные блоки для текущего сайта типа catalog
// у которых символьный код не my_products, со счетчиком активных элементов.
$res = CIBlock::GetList(
	Array(), 
	Array(
		'TYPE'=>'catalog', 
		'SITE_ID'=>SITE_ID, 
		'ACTIVE'=>'Y', 
		"CNT_ACTIVE"=>"Y", 
		"!CODE"=>'my_products'
	), true
);
while($ar_res = $res->Fetch())
{
	echo $ar_res['NAME'].': '.$ar_res['ELEMENT_CNT'];
}
?>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024