• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/base.php
  • Класс: BitrixIblockComponentBase
  • Вызов: Base::getSectionIdByCode
protected function getSectionIdByCode($sectionCode = '', int $iblockId = 0)
{
	$sectionId = 0;
	$sectionCode = (string)$sectionCode;

	if ($sectionCode === '')
	{
		return $sectionId;
	}

	$sectionFilter = [];
	if ($iblockId > 0)
	{
		$sectionFilter['=IBLOCK_ID'] = $iblockId;
	}
	elseif (!empty($this->arParams['IBLOCK_ID']))
	{
		$sectionFilter['@IBLOCK_ID'] = $this->arParams['IBLOCK_ID'];
	}
	if (empty($sectionFilter))
	{
		return $sectionId;
	}

	$sectionFilter['=IBLOCK.ACTIVE'] = 'Y';
	$sectionFilter['=CODE'] = $sectionCode;

	$section = IblockSectionTable::getList(array(
		'select' => array('ID'),
		'filter' => $sectionFilter
	))->fetch();
	if (!empty($section))
	{
		$sectionId = (int)$section['ID'];
	}

	return $sectionId;
}