Notes
Миграция секций инфоблока в hl блок (CIBlockSection::GetList)
CModule::IncludeModule('iblock');
$iblock_ID = 56;
//HL part
// подключаем пространство имен класса HighloadBlockTable и даём ему псевдоним HLBT для удобной работы
use BitrixHighloadblockHighloadBlockTable as HLBT;
// id highload-инфоблока
$HL_BLOCK_ID = 7;
//подключаем модуль highloadblock
CModule::IncludeModule('highloadblock');
//Напишем функцию получения экземпляра класса:
function GetEntityDataClass($HlBlockId) {
if (empty($HlBlockId) || $HlBlockId < 1)
{
return false;
}
$hlblock = HLBT::getById($HlBlockId)->fetch();
$entity = HLBT::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
return $entity_data_class;
}
$entity_data_class = GetEntityDataClass($HL_BLOCK_ID);
//HL part end
//список всех секций раздела
$arFilter = Array('IBLOCK_ID'=>$iblock_ID, 'GLOBAL_ACTIVE'=>'Y');
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
while($ar_result = $db_list->GetNext()) {
//добавить элемент в hl Блок
$result = $entity_data_class::add(array(
'UF_NAME' => $ar_result['NAME'],
'UF_XML_ID' => $ar_result['CODE'],
));
}
//Прочитаем данные hl блока
$entity_data_class = GetEntityDataClass($HL_BLOCK_ID);
$rsData = $entity_data_class::getList(array(
'select' => array('*')
));
while($el = $rsData->fetch()){
pre2($el);
}
Афоризм дня:
Карточная игра – явное обнаружение умственного банкротства. (667)
By Admin
On November 06, 2018