подключение класса
1 2 3 4 5 |
\Bitrix\Main\Loader::registerAutoLoadClasses(null, [ 'HLBData' => '/local/php_interface/include/HLBData.php',//клас hiload блоков ]); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
<?php if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); use Bitrix\Main\Loader; Loader::includeModule("highloadblock"); use Bitrix\Highloadblock as HL; use Bitrix\Highloadblock\HighloadBlockTable as HLBT; CModule::IncludeModule('highloadblock'); class HLBData { static 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; } static function addHLBData ($hlbId, $arData) { $entity_data_class = self::GetEntityDataClass($hlbId); $result = $entity_data_class::add($arData); return $result; } static function deleteHLBData ($hlbId, $ID) { $entity_data_class = self::GetEntityDataClass($hlbId); $result = $entity_data_class::delete($ID); return $result; } static function getHLBData ($hlbId, $arData) { $entity_data_class = self::GetEntityDataClass($hlbId); $userTempData = $entity_data_class::getList($arData); $result = ''; while($elTemp = $userTempData->fetch()) { $result = $elTemp; } return $result; } static function getHLBDatas ($hlbId, $arData) { $entity_data_class = self::GetEntityDataClass($hlbId); $userTempData = $entity_data_class::getList($arData); $result = array(); while($elTemp = $userTempData->fetch()) { $result[] = $elTemp; } return $result; } static function updateHLBData ($hlbId, $entityId, $arData) { $entity_data_class = self::GetEntityDataClass($hlbId); $result = $entity_data_class::update($entityId, $arData); } } |
вот такой классик имеем
подруббаем в init.php