Метод CIBlockFindTools::GetSectionID
в Bitrix используется для получения идентификатора раздела инфоблока по его коду. Этот метод полезен, когда вам нужно получить ID раздела, зная только его символьный код.

Описание метода
Метод GetSectionID
принимает три параметра:
$section_id
- это идентификатор раздела инфоблока. Если этот параметр указан, метод вернет его значение, игнорируя другие параметры.$section_code
- это символьный код раздела инфоблока. Если он указан, метод вернет идентификатор раздела, соответствующий этому символьному коду.$arFilter
- это массив параметров, используемых для фильтрации разделов инфоблока. Этот массив должен содержать один или несколько ключей, которые соответствуют полям раздела инфоблока.
Метод возвращает идентификатор раздела, если раздел с указанным кодом существует, или false
, если раздел не найден.
Примеры использования
Пример 1: Получение ID раздела по символьному коду
use Bitrix\Iblock\SectionTable;
use Bitrix\Main\Loader;
use Bitrix\Iblock;
Loader::includeModule("iblock");
// Идентификатор инфоблока
$iblockId = 1;
// Символьный код раздела
$sectionCode = 'my_section_code';
// Получение ID раздела
$sectionId = CIBlockFindTools::GetSectionID(false, $sectionCode, [$iblockId]);
if ($sectionId) {
echo "ID раздела: " . $sectionId;
} else {
echo "Раздел не найден.";
}
Пример 2: Использование в контексте работы с элементами инфоблока
Предположим, у вас есть инфоблок с элементами, и вам нужно получить элементы, принадлежащие определенному разделу, зная только его символьный код.
use Bitrix\Iblock\ElementTable;
use Bitrix\Main\Loader;
use Bitrix\Iblock;
Loader::includeModule("iblock");
// Идентификатор инфоблока
$iblockId = 1;
// Символьный код раздела
$sectionCode = 'my_section_code';
// Получение ID раздела
$sectionId = CIBlockFindTools::GetSectionID(false, $sectionCode, $iblockId);
if ($sectionId) {
// Получение элементов раздела
$elements = Iblock\ElementTable::getList([
'filter' => ['IBLOCK_ID' => $iblockId, 'IBLOCK_SECTION_ID' => $sectionId],
'select' => ['ID', 'NAME']
])->fetchAll();
foreach ($elements as $element) {
echo "ID элемента: " . $element['ID'] . ", Название: " . $element['NAME'] . "<br>";
}
} else {
echo "Раздел не найден.";
}
Заключение
Метод CIBlockFindTools::GetSectionID
удобен для работы с разделами инфоблоков, когда вам нужно получить ID раздела по его символьному коду. Это позволяет гибко управлять структурой инфоблоков и динамически работать с разделами, не привязываясь к жестко закодированным идентификаторам.