Базовые методы работы с highload-блоками

Углубленное изучение Битрикс
  • Базовые методы работы с highload-блоками

    Антон Долганин 18 Июня 2016 9:31 2292
    В мини-статье речь пойдет про добавление и удаление именно самих highload-блоков программно, а не работа с конечными элементами блоков.

    Перед началом выполнения кусков кода ниже, не забудьте поставить алиас класса и подключить сам модуль
     use Bitrix\Highloadblock as HL;
    if (\Bitrix\Main\Loader::includeModule('highloadblock')) {


    Пошла работа
    //создание hl-блока
    $result = HL\HighloadBlockTable::add(array(
       'NAME' => 'MyTbl',//должно начинаться с заглавной буквы и состоять только из латинских букв и цифр
       'TABLE_NAME' => 'blablabla',//должно состоять только из строчных латинских букв, цифр и знака подчеркивания
    ));
    if (!$result->isSuccess()) {
       $errors = $result->getErrorMessages();
    } else {
       $id = $result->getId();
    }


    Таблица у нас уже создана, далее добавляем в нее колонки путем создания пользовательских полей с ENTITY_ID = 'HLBLOCK_'.$id (используется полученный ИД).

    Вот и все. Ну а если таблицу надо удалить, вот код (удаляет в том числе и сами поля)/
    HL\HighloadBlockTable::delete(17); 


    Картинка по запросу highloadblock:

    Al-2030-XHL-4-Colours.jpg