Блог разработчика 1С-Битрикс

Как использовать CIBlockFindTools::GetSectionID для поиска ID раздела инфоблока

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

Описание метода

Метод GetSectionID принимает три параметра:

  1. $section_id - это идентификатор раздела инфоблока. Если этот параметр указан, метод вернет его значение, игнорируя другие параметры.
  2. $section_code - это символьный код раздела инфоблока. Если он указан, метод вернет идентификатор раздела, соответствующий этому символьному коду.
  3. $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 раздела по его символьному коду. Это позволяет гибко управлять структурой инфоблоков и динамически работать с разделами, не привязываясь к жестко закодированным идентификаторам.

SenDev: DataGenerator. Генератор тестовых данных для разработки

SenDev: DataGenerator — это бесплатный инструмент для разработчиков 1С-Битрикс, позволяющий мгновенно наполнять сайт тестовыми данными. Генерируйте пользователей, структуру инфоблоков, товары с ценами и остатками, а также заказы в один клик. Модуль ведет журнал созданных сущностей, что гарантирует безопасную и полную очистку тестовых данных после завершения работ.

Теги: CIBlockFindTools::GetSectionID, поиск ID раздела, символьный код раздела, ID инфоблока, работа с инфоблоками, 1С-Битрикс, примеры CIBlockFindTools, разделы инфоблоков, символьные коды в Битрикс, GetSectionID примеры.


Валерий Макеев
09.09.2025 17:13
Этот код находит ID раздела с символьным кодом 'news' в инфоблоке 2 и выводит сообщение с ID, если раздел найден, или сообщает об отсутствии раздела.
Код
<?php
use Bitrix\Main\Loader;
use Bitrix\Iblock;

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

Loader::includeModule("iblock");

// Получаем ID раздела инфоблока по символьному коду 'news' для инфоблока с ID 2
$sectionId = CIBlockFindTools::GetSectionID(false, 'news', ['IBLOCK_ID' => 2]);

if ($sectionId) {
    echo "Найден раздел с ID: " . $sectionId;
} else {
    echo "Раздел с кодом 'news' в инфоблоке 2 не найден.";
}

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Лендинг

от 3 дней

от 25 000 рублей

Разработка одностраничного сайта на платформе Битрикс

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Техническая поддержка

сайтов на CMS 1C-Битрикс

от 20 000 рублей/месяц
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ

Разработка интернет-магазина с готовой версткой

от 4 недель

от 90 000 рублей

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.