@sreug

Почему не обновляется элемент?

require $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php';

$el = new CIBlockElement;

$arLoadProductArray = Array(
      "MODIFIED_BY"    => $USER->GetID(),
      "PROPERTY_FORM_ORDER_VALUE" =>"Y",
      "PROPERTY_FORM_ORDER_ENUM_ID" => 259, 
);

$el->Update(588, $arLoadProductArray);

$res = CIblockElement::GetList([], ['IBLOCK_ID'=> 77, 'ID'=>588], ['ID','PROPERTY_FORM_ORDER','NAME']);

	while($i = $res->fetch()) {

		print_r($i);

	}


поля свойств как были пустые так и остаются
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
@jasper-blondin
Если обновляете одно конкретное свойство, используйте следующий метод:
\CIBlockElement::SetPropertyValues($elementId, $iblockId, $propertyValue, $propertyCode);

При этом, если свойство множественное, то $propertyValue должен содержать массив всех значений свойства.

Если же хотите обновить сразу несколько свойств, используйте метод:
\CIBlockElement::SetPropertyValues($elementId, $iblockId, $propertyValues, false);

При этом, массив $propertyValues представляет собой пары вида "Код свойства" => "Значение/значения свойства".

Для более глубокого понимания работы метода ознакомьтесь с примерами и замечаниями в документации: https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы