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