Причин может быть множество: от неправильного программного кода, до неправильно выставленных прав на типы цен.
Рассмотрим основные причины, почему данная проблема возникает:
Перейдем в настройки торгового каталога (настройки – модули – торговый каталог):
Здесь мы видим настройки Включить количественный учет и Разрешить покупку при отсутствии товара (включая разрешение отрицательного количества товара). Если первая включена а вторая выключена, а количество товара равно 0, то возникнет ошибка Битрикс: не добавляются товары в корзину.
Рассмотрим еще одну причину ошибки битрикс не добавляются товары в корзину. Известно, что в модуле интернет-магазина битрикса существует такая сущность как тип цен. Для того, чтобы пользователь мог добавить товар в корзину он должен состоять в группе, обладающей соответствующими правами. Если их не хватает, товар не добавится в корзину.
Эта настройка располагается: магазин – цены – типы цен, далее выбираем соответствующий тип:
Вполне возможно, что в корзину добавляется цена элемента инфоблока, для которого нет прав на чтение у данной группы пользователей.
Возможно, в исходном коде неправильно вызывается функция
Add2BasketByProductID( $PRODUCT_ID, $QUANTITY = 1, $arRewriteFields = array(), $arProductParams = false);
которая является надстройкой над:
int Add2Basket( int PRICE_ID[, int QUANTITY = 1[, array arRewriteFields = array()[, array arProductParams = array()]]] );
или не подключен модуль интернет-магазина (CModule::IncludeModule("sale"))
Также имеют место быть случаи, когда модуль интернет-магазина не установлен, или установлен неправильно. При этом также возможно возникновение ошибки добавления товара в корзину в битриксе