Миграция секций инфоблока в 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); }
Афоризм дня:
Конфуций создал школу, где ученики могли познавать законы окружающего мира, людей и открывать собственные возможности. (645)
Leave a reply