addProduct
\Bitrix\Main\Result public static \Bitrix\Catalog\Product\Basket::addProduct( array $product, array $basketFields = array(), array $options = array() );
Метод для добавления товара в текущую корзину (не заказ) пользователя на сайте. Разработан для публичных компонентов как замена функции Add2BasketByProductID. Метод статический.
Параметры
| Параметр | Описание | Версия |
|---|---|---|
| $product | Массив параметров товара (вместе со свойствами). | |
| $basketFields | Массив параметров корзины (если используется). | |
| $options | Массив дополнительных параметров. |
Исключения
- \Bitrix\Main\LoaderException
- \Bitrix\Main\ObjectNotFoundException
Примеры
1. Добавить товар в текущую корзину
use Bitrix\Catalog\Product\Basket;
use Bitrix\Main\Loader;
Loader::includeModule('catalog');
$productId = 123;
$result = Basket::addProduct(
[
'PRODUCT_ID' => $productId,
'QUANTITY' => 2,
],
[
'LID' => 's1', // идентификатор сайта
],
[
'USE_MERGE' => 'Y',
]
);
if (!$result->isSuccess())
{
foreach ($result->getErrorMessages() as $errorMessage)
{
echo $errorMessage . PHP_EOL;
}
return;
}
$basketItemId = $result->getData()['ID'];
2. Добавить торговое предложение со свойствами
use Bitrix\Catalog\Product\Basket;
use Bitrix\Main\Loader;
Loader::includeModule('catalog');
$offerId = 456;
$result = Basket::addProduct(
[
'PRODUCT_ID' => $offerId,
'QUANTITY' => 1,
'PROPS' => [
[
'NAME' => 'Цвет',
'CODE' => 'COLOR',
'VALUE' => 'Черный',
],
],
],
[
'LID' => 's1', // идентификатор сайта,
],
[
'FILL_PRODUCT_PROPERTIES' => 'Y',
]
);
if (!$result->isSuccess())
{
echo implode(PHP_EOL, $result->getErrorMessages());
}
© «Битрикс», 2001-2026, «1С-Битрикс», 2026