28.04.2017

API D7 работа с Highload блокам в Битрикс

Подключаем модуль для работы с highloadblock блоками

Старый способ

CModule::IncludeModule("highloadblock"); 

Новый способ в ядре d7

use Bitrix\Main\Loader; 

Loader::includeModule("highloadblock"); 

Делаем выборку из highloadblock блока метод getlist



use Bitrix\Main\Loader; 

Loader::includeModule("highloadblock"); 

use Bitrix\Highloadblock as HL; 
use Bitrix\Main\Entity;

$hlbl = 1; // Указываем ID нашего highloadblock блока к которому будет делать запросы.
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch(); 

$entity = HL\HighloadBlockTable::compileEntity($hlblock); 
$entity_data_class = $entity->getDataClass(); 

$rsData = $entity_data_class::getList(array(
   "select" => array("*"),
   "order" => array("ID" => "ASC"),
   "filter" => array("UF_PRODUCT_ID"=>"77","UF_TYPE"=>'33')  // Задаем параметры фильтра выборки
));

while($arData = $rsData->Fetch()){
   var_dump($arData);
}

Пример добавления записи в highloadblock



use Bitrix\Main\Loader; 

Loader::includeModule("highloadblock"); 

use Bitrix\Highloadblock as HL; 
use Bitrix\Main\Entity;

$hlbl = 1; // Указываем ID нашего highloadblock блока к которому будет делать запросы.
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch(); 

$entity = HL\HighloadBlockTable::compileEntity($hlblock); 
$entity_data_class = $entity->getDataClass(); 

   // Массив полей для добавления
   $data = array(
      "UF_TYPE"=>'33',
      "UF_COUNT"=>'1',
      "UF_DATA"=>date("d.m.Y")
   );

   $result = $entity_data_class::add($data);

Пример обновления записи по ID в highloadblock



use Bitrix\Main\Loader; 

Loader::includeModule("highloadblock"); 

use Bitrix\Highloadblock as HL; 
use Bitrix\Main\Entity;

$hlbl = 1; // Указываем ID нашего highloadblock блока к которому будет делать запросы.
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch(); 

$entity = HL\HighloadBlockTable::compileEntity($hlblock); 
$entity_data_class = $entity->getDataClass(); 


   // Массив полей для обновления
   $data = array(
      "UF_TYPE"=>'33',
      "UF_COUNT"=>'1',
      "UF_DATA"=>date("d.m.Y")
   );

   $result = $entity_data_class::update("77", $data); // где 77 -  id обновляемой записи 



Пример удаление записи по ID из highloadblock



use Bitrix\Main\Loader; 

Loader::includeModule("highloadblock"); 

use Bitrix\Highloadblock as HL; 
use Bitrix\Main\Entity;

$hlbl = 1; // Указываем ID нашего highloadblock блока к которому будет делать запросы.
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch(); 

$entity = HL\HighloadBlockTable::compileEntity($hlblock); 
$entity_data_class = $entity->getDataClass(); 

$entity_data_class::Delete("77");  // где 77 -  id удаляемой записи 


Возврат к списку