Добрый день.
Нахожусь на странице корзины, компонент sale.basket.basket. Удаляю товар из корзины, делаю с помощью API D7
$basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
if($item = $basket->getItemById($basketItemId)){
$res = $item->delete();
if ($res->isSuccess()) {
$basket->save();
}else{
var_dump($res->getErrorMessages());
}
}
Затем хочу восстановить удаленный товар. Произвожу добавление товара так же через API D7
$basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
$item = $basket->createItem('catalog', $productId);
$item->setFields(array(
'QUANTITY' => $quantity,
'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
));
$res = $basket->save();
if (!$res->isSuccess()) {
$arResult['ERROR'] = $res->getErrorMessages();
} else {
$arResult['result'] = true;
}
В итоге получаю ошибку "Количество товара не может быть меньше или равным 0". Конечно я все проверил, к-во передается верное.
Данный код работает с других страниц магазина, но именно на странице корзины возвращает ошибку.
Нахожусь на странице корзины, компонент sale.basket.basket. Удаляю товар из корзины, делаю с помощью API D7
$basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
if($item = $basket->getItemById($basketItemId)){
$res = $item->delete();
if ($res->isSuccess()) {
$basket->save();
}else{
var_dump($res->getErrorMessages());
}
}
Затем хочу восстановить удаленный товар. Произвожу добавление товара так же через API D7
$basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite());
$item = $basket->createItem('catalog', $productId);
$item->setFields(array(
'QUANTITY' => $quantity,
'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
));
$res = $basket->save();
if (!$res->isSuccess()) {
$arResult['ERROR'] = $res->getErrorMessages();
} else {
$arResult['result'] = true;
}
В итоге получаю ошибку "Количество товара не может быть меньше или равным 0". Конечно я все проверил, к-во передается верное.
Данный код работает с других страниц магазина, но именно на странице корзины возвращает ошибку.