bitrix добавить товар в корзину

Добавить товар в корзину через PHP можно с помощью функции Add2BasketByProductID() .

По умолчанию в корзину добавляется один товар. Во втором параметре можно указать количество добавляемого товара.

2-ой способ: JavaScript

Чтобы добавить товар в корзину через JavaScript, надо сделать Ajax-запрос на текущую страницу, добавив два GET параметра «/current-page ?action=ADD2BASKET& >».

Данный код можно выполнять на любой странице.

Внимание! Для работы с корзиной рекомендуется использовать методы ядра D7

Модуль торгового каталога включает в себя функции-оболочки для работы с модулем продаж:

Add2Basket

Функция добавляет в корзину товар с кодом цены PRICE_ID в количестве QUANTITY единиц (по умолчанию одну штуку) и возвращает код позиции товара в корзине. Функция является оберткой над CSaleBasket::Add, но при этом размещена в модуле Торгового каталога.

Параметры функции

Параметр Описание
PRICE_ID Код цены товара.
QUANTITY Количество добавляемых единиц товара (по умолчанию — одна штука)
arRewriteFields Массив ключей для класса корзины соответствует одноимённому массиву класса CSaleBasket, за исключением ключа module_id.
arProductParams Массив, содержащий перечень свойств товара, добавленного в корзину. Ключи:
  • NAME — название свойства;
  • CODE — символьный код свойства;
  • VALUE — значение свойства;
  • SORT — сортировка.

Возвращаемое значение

Код вставленной в корзину записи или False в случае ошибки.

  • не установлен модуль Интернет-магазин;
  • попытка поискового бота добавить товар в корзину (только при наличии модуля Веб-аналитика и вычисления бота на основе UserAgent);
  • для указанного количества отсутствует цена либо нет типов цен, по которым пользователь может покупать;
  • нет прав на чтение элемента инфоблока, цена которого добавляется в корзину.

Пример использования

Add2BasketByProductID

После версии 11.5.7 доступен новый вариант вызова (старый вызов сохраняет свою работоспособность):

Функция добавляет в корзину товар с кодом PRODUCT_ID в количестве QUANTITY единиц (по умолчанию одну штуку) и возвращает код позиции товара в корзине. Функция является оберткой над CSaleBasket::Add, но при этом размещена в модуле Торгового каталога.

Параметры функции

Параметр Описание С версии
PRODUCT_ID Код товара.
QUANTITY Количество добавляемых единиц товара (по умолчанию — одна штука)
arRewriteFields Массив ключей для класса корзины соответствует одноимённому массиву класса CSaleBasket. 11.5.7
arProductParams Массив, содержащий перечень свойств товара, добавленного в корзину. Ключи:
  • NAME — название свойства;
  • CODE — символьный код свойства;
  • VALUE — значение свойства;
  • SORT — сортировка.

Возвращаемое значение

Код вставленной в корзину записи или False в случае ошибки.

  • не установлен модуль Интернет-магазин;
  • попытка поискового бота добавить товар в корзину (только при наличии модуля Веб-аналитика и вычисления бота на основе UserAgent);
  • отсутствующая цена или невозможность покупать по данному типу цен для пользователя;
  • нет прав на чтение элемента инфоблока, цена которого добавляется в корзину.

Пример использования

Смотрите также:

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

В интерет магазинах есть свои компоненты, которые прекрасно себя зарекомендовали, такие как bitrix:catalog, bitrix:catalog.top, bitrix:eshopapp.top и другие. Их и рекомендуется кастомизировать, но как добавить товар используя API Битрикса?

Битрикс — добавить товар к заказу и перейти на страницу оформления

Как вы понимаете, если на странице будет код добавления, то при открытие такой страницы, товар моментально будет добавляться, что в принципе не очень хорошо (если, конечно, это не страница с благодарностью за покупку).

Итак наша задача: в небольшой форме вы просите выбрать количество товаров, которые добавятся к текущей корзине пользователя, и кнопка «Купить» или «Добавить в корзину».

Небольшая форма, без обработчика, которая сформирует массив $_POST, после отправки. Обязательно указываем name, в моем случае это order-count.
И наш код:

Итак, если в массиве $_POST есть order-count, то мы добавляем товар в корзину по ID (переменная $PRODUCT_ID), и переходим сразу на страницу оформления, не заходя в корзину.

ID товара можно также передать в форме, тогда наш код будет выглядеть так:

Это лишь один из вариантов и он просто быстрее, чем переделывать шаблон компонента catalog.top или любой другой из этого семейства. Я бы рекомендовал его использовать на продающих страницах (лендинг пейдж), т.к. не вижу смысла писать новый компонент ради 1 товара.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
— Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
— Разработка функционала с нуля и доработка кода на уже созданных проектах;
— Адаптивная вёрстка макетов и натяжка на Битрикс;
— Парсинг файлов и выгрузка на сайт (форматы — CSV, XML, XLSX, JSON)
— Интеграции со сторонними сервисами по API;
— Многоязычные версии и многое другое.

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: