@Kirill-Gorelov
С ума с IT

Обновить свойство существующего заказа в битрикс?

Парни, как обновить свойства существующего заказа.
Какая ситуация.
Позвонил покупатель и горит:
"Здравствуйте, можно у заказ ХХХ изменить размер футболки?".

Размеры и прочая информация у нас указана в виде свойств.
5ab25775cabef139761001.jpeg

Я пробую вот так изменить
CSaleOrderPropsValue::Update(310555,
 array("DPID" => 12));

Но увы, не получается.
  • Вопрос задан
  • 879 просмотров
Пригласить эксперта
Ответы на вопрос 1
То, что вы показываете не свойства заказа, а свойства товара в корзине.

На D7 делается так

/** int $orderId номер заказа
Получаем корзину заказа
 */
$basket = Sale\Order::load($orderId)->getBasket();

/*Товары в корзине*/
$basketItems = $basket->getBasketItems();
/*перебор товаров*/
foreach($basketItems as $item)
{
/*Свойства товара в корзине*/
$basketPropertyCollection = $item->getPropertyCollection(); 

/*Обновляем значение нужного свойства*/
foreach ($basketPropertyCollection as $propertyItem) {
    if ($propertyItem->getField('CODE') == 'COLOR') {

        $propertyItem->setProperty(array(
         array(
            'NAME' => 'Цвет',
            'CODE' => 'COLOR',
            'VALUE' => 'Кофе с молоком',
             'SORT' => 100,
       ),
       ));
        $basketPropertyCollection->save();

        break;
    }
}


}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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