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

GetCount

int
CIBlockSection::GetCount(
 array arFilter = Array()
);

Возвращает количество разделов, удовлетворяющих фильтру arFilter. Нестатический метод.

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

ПараметрОписание
arFilter Массив вида array("фильтруемое поле"=>"значение" [, ...])
"фильтруемое поле" может принимать значения:
    ACTIVE - фильтр по активности (Y|N);
    GLOBAL_ACTIVE - фильтр по активности, учитывая активность вышележащих разделов (Y|N);
    NAME - по названию (можно искать по шаблону [%_]);
    CODE - по символьному коду (по шаблону [%_]);
    EXTERNAL_ID - по внешнему коду (по шаблону [%_]);
    SECTION_ID - по коду раздела-родителя;
    DEPTH_LEVEL - по уровню вложенности;
    LEFT_BORDER, RIGHT_BORDER - по левой и правой границе (поля LEFT_MARGIN и RIGHT_MARGIN, см. примечание);
    ID - по коду раздела;
    IBLOCK_ID - по коду родительского информационного блока;
    IBLOCK_ACTIVE - по активности родительского информационного блока;
    IBLOCK_NAME - по названию информационного блока (по шаблону [%_]);
    IBLOCK_TYPE - по типу информационного блока;
    IBLOCK_CODE - по символьному коду информационного блока (по шаблону [%_]);
    IBLOCK_EXTERNAL_ID - по внешнему коду информационного блока (по шаблону [%_]);

Перед названием фильтруемого поля можно указать тип фильтрации:
"!" - не равно
"<" - меньше
"<=" - меньше либо равно
">" - больше
">=" - больше либо равно

"значения фильтра" одиночное значение или массив.

Необязательное. По умолчанию записи не фильтруются.

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

Число - количество разделов.

См. также

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

<?
	$arFilter = Array(
		"IBLOCK_ID"=>$IBLOCK_ID,
		"SECTION_ID"=>$f_ID
		);

	echo CIBlockSection::GetCount($arFilter);
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
2
Роман Клёпов
Для рекурсивного подсчета подразделов (любого уровня вложенности) можно воспользоваться следующим кодом:


Код
<?php 
      $arFilSecCount = Array(
         "ACTIVE" => "Y",
         "IBLOCK_ID"=>$iBlockId,
         ">LEFT_BORDER" => $arSecLeftMargin, 
         "<RIGHT_BORDER" => $arSecRightMargin,
      );

      $subSecCount = CIBlockSection::GetCount($arFilSecCount);
      
      echo $subSecCount;
?>
Важно: SECTION_ID не указывается.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх