В новой записи мы с вами рассмотрим методы для работы с 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 удаляемой записи