Документация для разработчиков
Темная тема

resolveIdByCode

?int public static
\Bitrix\Iblock\IblockTable::resolveIdByCode(
	string $code,
	?string $siteId = null
);

Находит идентификатор инфоблока по символьному коду и при необходимости проверяет его привязку к сайту. Статический метод.

Параметры

Параметр Описание
$code Символьный код инфоблока из поля CODE. Для пустой строки метод возвращает null без запроса
$siteId Идентификатор сайта для проверки привязки найденного инфоблока. По умолчанию null — проверка отключена. Пустая строка также отключает проверку

Возвращаемое значение

Идентификатор инфоблока типа int. Возвращает null, если код пуст, инфоблок не найден или найденный инфоблок не привязан к указанному сайту.

Особенности

Метод сначала получает одну запись по CODE, затем отдельно проверяет ее связь с сайтом через IblockSiteTable. Если связь отсутствует, другие инфоблоки с тем же кодом не перебирает. Сортировка при поиске не задана, поэтому для однозначного результата используйте уникальный код.

Для обоих запросов задан срок кеширования 86400 секунд. Поле API_CODE в поиске не участвует.

Пример

Пример выполняется в окружении с подключенным ядром Bitrix.

<?php

use Bitrix\Iblock\IblockTable;
use Bitrix\Main\Loader;

try
{
	if (!Loader::includeModule('iblock'))
	{
		echo 'Не удалось подключить модуль iblock';
		return;
	}

	$code = 'news'; // CODE существующего инфоблока
	$siteId = 's1'; // Идентификатор сайта, к которому должен быть привязан инфоблок
	$iblockId = IblockTable::resolveIdByCode($code, $siteId);

	if ($iblockId === null)
	{
		echo 'Подходящий инфоблок не найден';
	}
	else
	{
		echo 'Идентификатор инфоблока: ' . $iblockId;
	}
}
catch (\Throwable $exception)
{
	echo 'Ошибка: ' . htmlspecialchars($exception->getMessage(), ENT_QUOTES, 'UTF-8');
}


© «Битрикс», 2001-2026, «1С-Битрикс», 2026