Полный цикл в digital

Изменение элемента в инфоблоке

Вносить изменения в элементы инфоблока можно с помощью четырех методов функций:

  1. Обновление полей и свойств элемента CIBlockElement::Update
  2. Обновление одного свойства CIBlockElement::SetPropertyValueCode
  3. Обновление одного или всех свойств CIBlockElement::SetPropertyValues
  4. Обновление произвольного количества свойств элемента CIBlockElement::SetPropertyValuesEx

В данном примере я работаю с таблицей b_iblock_element_property которая содержит свойства элемента инфоблока и b_iblock_element которая содержит сам элемент инфоблока.

<?
// это подключаем если код ниже будет исполняться в отдельном файле php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"); 
// подключаем нужный класс для работы с инфоблоком
CModule::IncludeModule('iblock');
// обязательно указываем класс
$el = new CIBlockElement;
// здесь у нас будут храниться свойства
$PROP = array();
// свойство типа HTML/текст, указываем ID свойста и текст который хотим записать
$PROP[409] = 'Полное название';
// свойство типа список, указываем ID свойста и ID значение свойста 
$PROP[411] = ["VALUE" => 190];
// свойство типа список множественного выбора, указываем ID свойста и ID значение свойста 
$PROP[412] = [191, 192, 193];
// свойство типа чекс бокс
$PROP[698] = ["VALUE" => 343];
// массив данных для изменения элемента
$arLoadProductArray = array(
    // название элемента
    "NAME" => "Название элемента",
    // превью описание элемента
    "PREVIEW_TEXT" => "Превью описание элемента",
    // детальное описание элемента
    "DETAIL_TEXT" => "Детальный текст",
    // активен (Y), или не активен (N) 
    "ACTIVE" => "Y",
    // символьный код
    "CODE" => "test",
    // обновляем у элемента свойства
    "PROPERTY_VALUES" => $PROP,
    // сортировка
    "SORT" => 100,
    // ссылка на детальную картинку
    "DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images.png")  
);
// с помощью Add обновляем элемент
if ($newElement = $el->Update(id_элемента_инфоблока, $arLoadProductArray)) {
    echo "Элемент обнавлен: " . $newElement;
} else {
    echo "Error: " . $el->LAST_ERROR;
}
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг