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