resolveHighloadblock
array|null public static \Bitrix\Highloadblock\HighloadBlockTable::resolveHighloadblock( $hlblock );
Метод resolveHighloadblock нормализует входные данные и возвращает ассоциативный массив с информацией о highload-блоке по его идентификатору, названию или массиву данных. Статический метод.
С версии 25.0.0 метод выполняет автоматическое кеширование результатов запроса к базе данных на 86400 секунд (24 часа).
Особенности работы метода:
- обращение к базе данных происходит только при передаче в качестве аргумента числа или строки,
- проверка прав доступа к highload-блоку не осуществляется.
Параметры
Параметр | Описание | Версия |
---|---|---|
$hlblock |
Значение зависит от типа данных:
Если передано число или строка, начинающаяся с цифры, значение интерпретируется как ID . Если передана строка — как NAME .
Например, |
Возвращаемое значение
Метод возвращает массив с полями highload-блока: ID
, NAME
и TABLE_NAME
. Значение null
возвращает в случаях:
- передан некорректный параметр,
- highload-блок не найден,
- в переданном массиве отсутствуют обязательные поля,
- имя блока содержит недопустимые символы (допустимы только латинские буквы, цифры и подчеркивание).
Примеры
Пример 1. Получить данные highload-блока по ID.
$hlblockId = 5; $highloadInfo = \Bitrix\Highloadblock\HighloadBlockTable::resolveHighloadblock($hlblockId); if ($highloadInfo !== null) { echo "Название блока: " . $highloadInfo['NAME'] . "\n"; echo "Таблица: " . $highloadInfo['TABLE_NAME'] . "\n"; } else { echo "Highload-блок с ID=5 не найден."; }
Пример 2. Получить информацию по имени highload-блока.
$hlblockName = 'Products'; $highloadInfo = \Bitrix\Highloadblock\HighloadBlockTable::resolveHighloadblock($hlblockName); if ($highloadInfo !== null) { $entityId = \Bitrix\Highloadblock\HighloadBlockTable::compileEntityId($highloadInfo['ID']); // Теперь можно использовать $entityId, например, при работе с CUserTypeEntity } else { echo "Highload-блок с именем 'Products' не найден."; }
Пример 3. Проверить массив с данными.
$existingHlblockData = [ 'ID' => 7, 'NAME' => 'Employees', 'TABLE_NAME' => 'b_hlblock_employees' ]; $validated = \Bitrix\Highloadblock\HighloadBlockTable::resolveHighloadblock($existingHlblockData); if ($validated !== null) { // Данные прошли валидацию print_r($validated); }
© «Битрикс», 2001-2025, «1С-Битрикс», 2025