2021-06-30 11:59:00
1519
// для работы нам потребуется модули sale и catalog
\Bitrix\Main\Loader::includeModule('sale');
\Bitrix\Main\Loader::includeModule('catalog');

// Текущая корзина пользователя
$basket = \Bitrix\Sale\Basket::LoadItemsForFUser(
	\Bitrix\Sale\Fuser::getId(),
	SITE_ID
);

// Добавляем товар в корзину, указав id товара и его количество
$product = array('PRODUCT_ID' => 1, 'QUANTITY' => 1);
$result = \Bitrix\Catalog\Product\Basket::addProductToBasket($basket, $product, array('SITE_ID' => SITE_ID));

// Сохраняем корзину в базу
if (!$result->isSuccess()) {
	var_dump($result->getErrorMessage());
}
$basket->save();

Удаление товара из корзины

Так происходит удаление товара из корзины в отдельном файле. id позиции в корзине передаётся через $_REQUEST['dataid'] именно позиции а не id товара.

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

use Bitrix\Sale;
CModule::IncludeModule('sale');
CModule::IncludeModule('catalog');
if(CSaleBasket::Delete($_REQUEST['dataid'])) echo 'Y';

Комментарии (45)