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

Нахождение ID раздела инфоблока с помощью метода CIBlockFindTools::GetSectionID

Метод 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 раздела по его символьному коду. Это позволяет гибко управлять структурой инфоблоков и динамически работать с разделами, не привязываясь к жестко закодированным идентификаторам.

Теги: 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-Битрикс

Модули и компоненты для «1С-Битрикс»

оценка производится на основе предоставленного Технического Задания

от 20 000 рублей
Разработка дополнительных модулей для 1С-Битрикс, расширение функционала, внедрение любых решений, требующихся для выполнения ваших бизнес-задач.

* стоимость зависит от конкретной задачи, ее объема и сложности выполняемых работ.

Лендинг

от 3 дней

от 25 000 рублей

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

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

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

от 4 недель

от 90 000 рублей

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