Добавление изменение свойства товара корзины (D7) - sidigi/bitrix-info GitHub Wiki
Работа с BasketPropertiesCollection
Получение корзины текущего пользователя
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
// массив объектов \Bitrix\Sale\BasketItem
$basketItems = $basket->getBasketItems();
$basketItem = $basketItems[0]; //current($basketItems);
// Свойства записи, массив объектов Sale\BasketPropertyItem
$basketPropertyCollection = $basketItem->getPropertyCollection();
Добавление свойства
$props = [];
$props[] = [
'NAME' => 'Внешний ID',
'CODE' => 'VNESHNIY_ID',
'VALUE' => 1,
];
$basketPropertyCollection->setProperty($props);
Привязка коллекции к товару в корзине
//$basketItem - объект \Bitrix\Sale\BasketItem
$basketPropertyCollection->setBasketItem($basketItem);
//Сохранение
$basketPropertyCollection->save()
Работа с BasketPropertyItem
//Какая то другая коллекция свойств товара (\Bitrix\Sale\BasketPropertiesCollection)
$newBasketPropertiesCollection;
foreach($basketPropertyCollection as $property)
{
//Привязка свойства к коллекции
$property->create($newBasketPropertiesCollection);
//Сохранение
$property->save();
}