Добавление товара в корзину с произвольной ценой в Битриксе

Подключение необходимых модулей и загрузка корзины

Для начала добавления товара в корзину необходимо подключить необходимые модули и загрузить корзину текущего пользователя:

use Bitrix\Main\Loader;
use Bitrix\Main\Context;
use Bitrix\Sale;

Loader::includeModule('sale');

$productId = 123; // ID товара
$quantity = 1; // Количество товара
$customPrice = 1000; // Произвольная цена

Добавление товара с произвольной ценой в корзину

Теперь мы создадим элемент корзины с указанием произвольной цены:

$basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Context::getCurrent()->getSite());
$item = $basket->createItem('catalog', $productId);
$item->setFields([
    'QUANTITY' => $quantity,
    'CURRENCY' => \Bitrix\Currency\CurrencyManager::getBaseCurrency(),
    'LID' => Context::getCurrent()->getSite(),
    'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
    'PRODUCT_ID' => $productId,
    'CUSTOM_PRICE' => 'Y', // Установка произвольной цены
    'PRICE' => $customPrice,
]);

$basket->save();

Объяснение ключевых моментов

  • $productId - ID товара, который мы добавляем в корзину.
  • $quantity - количество данного товара, которое мы хотим добавить.
  • $customPrice - произвольная цена, которую мы устанавливаем для этого товара.
  • CUSTOM_PRICE - ключ, указывающий, что устанавливаемая цена является произвольной.

Завершение

Теперь вы знаете, как добавить товар с произвольной ценой в корзину в Битриксе, используя API этой CMS. Этот метод полезен, когда необходимо динамически устанавливать цену товара при добавлении его в корзину.


Этот подход позволяет динамически устанавливать цену для товаров, добавляемых в корзину, что может быть полезно для различных бизнес-кейсов интернет-магазинов на платформе Битрикс.

Комментарии

Коментарии отсутствуют, будьте первым(ой) кто напишет под этим постом!

Написать коментарий