Задать вопрос
yous
@yous

Bitrix\Highloadblock\HighloadBlockTable как получить ID блока по названию?

Собственно вопрос как получить ID Highloadblock названию?
  • Вопрос задан
  • 2500 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
$hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getList(
        array("filter" => array(
            'TABLE_NAME' => 'НАЗВАНИЕ'
        ))
    )->fetch();
echo $hlblock['ID'];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ragnar_ok
@ragnar_ok
Для решения задачи не нужно знать ID highloadblock'a и использовать дополнительную функцию-обертку (GetEntityDataClass($HL_BLOCK_ID)); в Вашем примере).

Вы можете получить то, что Вам нужно одной строкой:

Highloadblock\HighloadBlockTable::compileEntity('НАЗВАНИЕ')->getDataClass(); // указываете сразу название вместо ID


Возможно стоит написать функцию-обертку для того, чтобы ловить исключения, которые пробрасывает метод compileEntity:

function compileEntity($entity): ?Base
    {
        try {
            return Highloadblock\HighloadBlockTable::compileEntity($entity);
        } catch (SystemException $systemException) {
            // что-нибудь
            return null;
        }
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы