Документация для разработчиков
Темная тема

addProduct

\Bitrix\Main\Result public static
\Bitrix\Catalog\Product\Basket::addProduct(
 array $product,
 array $basketFields = array(),
 array $options = array()
);

Метод для добавления товара в текущую корзину (не заказ) пользователя на сайте. Разработан для публичных компонентов как замена функции Add2BasketByProductID. Метод статический.

Параметры

ПараметрОписаниеВерсия
$productМассив параметров товара (вместе со свойствами).
$basketFieldsМассив параметров корзины (если используется).
$optionsМассив дополнительных параметров.

Исключения

Примеры

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