Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Добавление изменение свойства товара корзины (D7)

John edited this page Nov 9, 2016 · 7 revisions

Работа с 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();
}
Clone this wiki locally