Определить наличие подразделов у раздела при использовании CIBlockSection::GetList

Для определения наличия у определенного раздела вложенных подразделов можно, при использовании CIBlockSection::GetList, всего лишь проверить, что выражение RIGHT_MARGIN - LEFT_MARGIN больше единицы.

Пример:

$sect = CIBlockSection::GetList(Array(), $arFilterElem, false, $arSelectElem, Array("nPageSize"=>10));
if($arSect = $sect->Fetch()) {
	// есть ли подразделы
	if($arSect['RIGHT_MARGIN'] - $arSect['LEFT_MARGIN']) > 1)
		echo 'Подразделы есть';
	else
		echo 'Подразделов нет';
	
   // определение кол-ва подразделов
   $sectCnt = ceil(($arSect['RIGHT_MARGIN'] - $arSect['LEFT_MARGIN']) / 2) - 1;
   echo 'Количество подразделов: '.$sectCnt;
}

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


Возврат к списку