[QUOTE]Игорь Чубуков написал:
Подсказали ответ, коим и делюсь. Ибо тема старая, но никто подобного не предложил
>---------------
код -------------------
//ID товара
$productId = 111;
$quantity = 1;
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
if ($item = $basket->getExistsItem('catalog', $productId)){
$item->setField('QUANTITY', $item->getQuantity() + $quantity);
}else{
$item = $basket->createItem('catalog', $productId);
$item->setFields([
'QUANTITY' => $quantity,
'CURRENCY' => \Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
'PRICE' => 123, //цена товара
'CUSTOM_PRICE' => 'Y',
]);
}
От себя добавлю, что надо в $item->setFields добавить
'NAME' =>
'DETAIL_PAGE_URL' =>
'PRODUCT_XML_ID' =>
иначе в корзине может быть не видно товара и не работать ссылки.
Всем спасибо[/QUOTE]
Спасибо! Пригодилось
Подсказали ответ, коим и делюсь. Ибо тема старая, но никто подобного не предложил
>---------------
код -------------------
//ID товара
$productId = 111;
$quantity = 1;
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
if ($item = $basket->getExistsItem('catalog', $productId)){
$item->setField('QUANTITY', $item->getQuantity() + $quantity);
}else{
$item = $basket->createItem('catalog', $productId);
$item->setFields([
'QUANTITY' => $quantity,
'CURRENCY' => \Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
'PRICE' => 123, //цена товара
'CUSTOM_PRICE' => 'Y',
]);
}
От себя добавлю, что надо в $item->setFields добавить
'NAME' =>
'DETAIL_PAGE_URL' =>
'PRODUCT_XML_ID' =>
иначе в корзине может быть не видно товара и не работать ссылки.
Всем спасибо[/QUOTE]
Спасибо! Пригодилось