Как добавить поле highload блоку в Битрикс?

С помощью Bitrix API добавил новый HighLoad блок, как можно добавить наименование нового поля для него?

Нижеследующий код ругается, что поля UF_NAME нет в HighLoad блоке.

\Bitrix\Main\Loader::IncludeModule('highloadblock');
	$data = array(
		'NAME' => 'Statuses',
		'TABLE_NAME' => 'ib_statuses'
	);         
	$result = \Bitrix\Highloadblock\HighloadBlockTable::add($data);
	
	if ($result->isSuccess()) {
		
		$HLBId = $result->getId();
	
		$hlblock           = \Bitrix\Highloadblock\HighloadBlockTable::getById( $HLBId )->fetch(); // получаем объект HL блока
		$entity            = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity( $hlblock );  // получаем рабочую сущность
		$entity_data_class = $entity->getDataClass(); // получаем экземпляр класса
		$entity_table_name = $hlblock['TABLE_NAME']; // присваиваем переменной название HL таблицы
		$sTableID          = 'tbl_'.$entity_table_name; // добавляем префикс и окончательно формируем название
	
		$arData = Array(
			0 => Array(
				'UF_NAME' => 'Новая'
			),
			1 => Array(
				'UF_NAME' => 'На экспертизе'
			),
			2 => Array(
				'UF_NAME' => 'У автора на доработке'
			),
			3 => Array(
				'UF_NAME' => 'В реализации'
			)
		);
		foreach ($arData as $item){
			$result = $entity_data_class::add($item);
		}
	}
  • Вопрос задан
  • 4797 просмотров
Решения вопроса 1
https://www.olegpro.ru/post/skripty_migraciy_dlya_... пример создания hl-блока, так же полей для него
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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