Добавление хайлоадблока

Октябрь 19, 2017

Теги: Хранение данных, Хайлоадблоки, ORM

Добавление хайлоадблока и создание полей.

Добавление хайлоадблока:


$result = \Bitrix\Highloadblock\HighloadBlockTable::add(array(

    
'NAME' => "MyEntityName",
    
'TABLE_NAME' => "my_table_name",
));
if (!
$result->isSuccess()) {
    
$GLOBALS["APPLICATION"]->ThrowException(implode("\n",$result->getErrorMessages()));
    return 
false;
} else {
    
$HLBLOCK_ID $result->getId();
}

Создание поля типа "Строка", обязательное:


$obUserField  = new \CUserTypeEntity;    

    
$arLangFields = array("EDIT_FORM_LABEL","LIST_COLUMN_LABEL","LIST_FILTER_LABEL",/*"ERROR_MESSAGE","HELP_MESSAGE"*/);
        
$arFields = array(
    
'ENTITY_ID' => 'HLBLOCK_'.$HLBLOCK_ID// Строковый идентификатор сущности
    
'FIELD_NAME' => 'UF_FIELD_NAME'// Код поля
    
'USER_TYPE_ID' => 'string',  // Тип
    
'XML_ID' => ''// Внешний код
    
'SORT' => '100'// Сортировка
    
'MULTIPLE' => NULL,  // Множественное
    
'MANDATORY' => 'Y'// Обязательное
    
'SHOW_FILTER' => 'E'// Показывать в фильтре списка
    
'SHOW_IN_LIST' => NULL// Показывать в списке
    
'EDIT_IN_LIST' => NULL// Разрешить редактирование в списке
    
'IS_SEARCHABLE' => NULL// Индексировать модулем поиска
    
'SETTINGS' => array( // Дополнительные настройки
        
'DEFAULT_VALUE' => ''// Значение по умолчанию
        
'SIZE' => '60'// Ширина поля
        
'ROWS' => '1'// Высота поля
        
'MIN_LENGTH' => '0'Минимальная длина строки
        
'MAX_LENGTH' => '0'// Максимальная длина строки
        
'REGEXP' => ''// Регулярное выражение для проверки значения
    
),
);
foreach(
$arLangFields as $LANG_FIELD)
{
    
$arFields[$LANG_FIELD]["ru"] = "Название поля";
    
$arFields[$LANG_FIELD]["en"] = "Field name";
}
$ID $obUserField->Add($arFields);
if(!
$ID)
    
$arErrors[] = $GLOBALS["APPLICATION"]->GetException();

См. также:

← Переход к списку