Обновление элемента Highload в Битрикс

Для обновления элемента Highload блока в Битриксе необходимо выполнить следующие шаги:

  1. Получить экземпляр класса HighloadBlockTable, который представляет таблицу элементов Highload блока. Например:
    use Bitrix\Highloadblock\HighloadBlockTable;
    
    $hlblock = HighloadBlockTable::getById($hlblockId)->fetch();
    $entity = HighloadBlockTable::compileEntity($hlblock);
    $entityDataClass = $entity->getDataClass();
    ​
  2. Получить объект элемента Highload блока, который вы хотите обновить. Например:
    $item = $entityDataClass::getList(array(
        'filter' => array('ID' => $itemId)
    ))->fetch();
    
  3. Обновить нужные поля элемента и сохранить его. Например:
    $item['NAME'] = 'New name';
    $item['PROPERTY_VALUES'] = array(
        'PROPERTY_CODE_1' => 'Value 1',
        'PROPERTY_CODE_2' => 'Value 2',
        // и так далее
    );
    
    $entityDataClass::update($itemId, $item);
    
  4. Очистить кэш элементов Highload блока, чтобы изменения были отображены на сайте. Например:
    $cacheManager = \Bitrix\Main\Application::getInstance()->getCache();
    $cacheManager->cleanDir('/hlblock/'.$hlblockId);
    ​
    Эти шаги должны помочь вам обновить элемент Highload блока в Битриксе. Обратите внимание, что код может отличаться в зависимости от вашей конкретной ситуации и структуры элементов Highload блока.

Коментарии

Коментарии отсутствуют, будьте первым(ой) кто напишет под этим постом!

Написать коментарий