Назад

Как добавить свойства товара в корзину Битрикс

Главная
Блог
Как добавить свойства товара в корзину Битрикс

Если функционала торговых предложений (SKU) недостаточно, можно передавать дополнительные свойства товара в корзину и заказ. Рассмотрим реализацию на примере самописного решения.

Как передать свойства через Add2BasketByProductID

Метод Add2BasketByProductID принимает массив свойств ($propArr), который позволяет добавить дополнительные параметры товара (например, размер или цвет).

Структура массива свойств

$propArr[] = array(
    "NAME" => "Размер", 
    "CODE" => "SIZE_CHECK", 
    "VALUE" => $_REQUEST['size']
);

  • NAME – название свойства (отображается в корзине).

  • CODE – символьный код свойства.

  • VALUE – значение (например, выбранный размер).

Пример PHP-обработчика (ajax_cart.php)

require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");

if (CModule::IncludeModule("catalog") && $_REQUEST['id'] && $_REQUEST['count']) {
    $propArr = array();
    
    if (!empty($_REQUEST['size'])) {
        $propArr[] = array(
            "NAME" => "Размер", 
            "CODE" => "SIZE_CHECK", 
            "VALUE" => $_REQUEST['size']
        );
    }

    Add2BasketByProductID(
        $_REQUEST['id'],
        $_REQUEST['count'],
        $propArr
    );
}

Если параметр size передан, свойство добавится в корзину и заказ.

JavaScript для отправки данных (jQuery)

$(document).ready(function() {
    $('.js-ajax-prop').on('click', function() {
        let $id = $(this).data('id'),
            $count = $('#count').val(),
            $size = $('#size').val();

        $.ajax({
            url: '/include/ajax_cart.php',
            type: 'get',
            cache: false,
            data: {
                'id': $id,
                'count': $count,
                'size': $size
            }
        }).done(function(data) {
            $('.column1inner').html(data);
            RSEC_BASKET_Refresh();
        });
        return false;
    });
});

Когда это полезно?

  • Если не используются SKU, но нужно передавать дополнительные параметры (например, размер или цвет).

  • Если свойства не влияют на цену, а нужны только для информации.

Этот метод часто применяется в интернет-магазинах, где товар имеет вариации без изменения цены.

Вывод:
С помощью Add2BasketByProductID можно гибко добавлять свойства товаров в корзину Битрикс, даже если не используются торговые предложения.

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи