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
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.