Шпаргалка по Bitrix. Работа с Highload блоками в Битрикс — PROG-TIME

Шпаргалка по Bitrix. Работа с Highload блоками в Битрикс

12.10.2022
Содержание:

В новой записи мы с вами рассмотрим методы для работы с Highload блоками в Битрикс. В данной записи мы с вами разберём как добавлять новые элементы в таблицы, как редактировать значения, как удалять значения из таблицы.

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

Способ в ядре d7

use Bitrix\Main\Loader;

Loader::includeModule("highloadblock");

Получить элементы из 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" => ["*"],
   "order" => ["ID" => "ASC"],
   "filter" => [
       "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 = [
    "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 = [
    "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 удаляемой записи