Меню

Добавление в корзину и заказ не существующего товара в 1С-Битрикс

RSS
Добавление в корзину и заказ не существующего товара в 1С-Битрикс
 
Добавление в корзину и заказ не существующего товара в 1С-Битрикс

Задача: нужно добавить в корзину товар, которого не существует в каталоге, с возможностью задать ему произвольные название и цену.
 
Эта заметка, продолжение к
https://bazarow.ru/blog-note/14681/ (Дополнительные опции/услуги, добавляемые в корзину, в карточке товаров)
Все поля
Код
"NAME", // название товара
"LID", // сайт, на котором сделана покупка
"SORT", // сортировка
"PRODUCT_ID", // код товара
"BASE_PRICE", // цена без учета скидок и наценок
"PRICE", // цена с учетом скидок и наценок
"DISCOUNT_PRICE", // скидка
"CURRENCY", // Валюта
"CUSTOM_PRICE", // флаг(Y/N): кастомная цена или нет
"QUANTITY", // количество
"WEIGHT", // вес
"DIMENSIONS", // размеры
"MEASURE_CODE", // код единицы измерения
"DELAY", // Флаг "товар отложен" (Y/N)
"CAN_BUY", // Флаг "товар можно купить" (Y/N)
"NOTES", // Особые заметки
"VAT_RATE",  // ставка НДС
"VAT_INCLUDED", // флаг(Y/N): включен налог или нет
"BARCODE_MULTI",  // флаг(Y/N): штрихкод уникальный или нет
"SUBSCRIBE", // флаг(Y/N): подписка на товар
"PRODUCT_PROVIDER_CLASS", // Имя класса провайдера
"TYPE", // тип товара
"XML_ID" // внешний идентификатор
Изменено: Михаил Базаров - 18.06.2023 08:51:45
 
Вариант на D7:
Код
$item = $basket->createItem('catalog', rand(10000000000, 11000000000));
$item->setFields([
        'QUANTITY' => '1',
        'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
        'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
        'NAME' => 'Абракадабра',
        'PRICE' => '123456',
        'CUSTOM_PRICE' => 'Y',
]);
$basket->save();
Изменено: Михаил Базаров - 13.05.2023 09:36:11
 
Михаил подскажите какое поля добавить $arFields что бы еще цена со скидкой передавалась в корзину??
 
Добавил "BASE_PRICE" теперь цена выводиться правильная! но хотелось бы что бы и старая цена выводилась. Не подскажите как правильно передать поля в корзину.

в корзине:
{{{FULL_PRICE_FORMATED}}} = вот так в корзине выводиться старая цена
{{{PRICE_FORMATED}}} = вот так уже с учетом скидки
 
Да и товар если есть в корзине я могу добавить его опять в избранное и потом из избранного "добавить в заказ" и получаеться две одинаковые позиции =(
 
Попробуйте вот так, не проверял но судя по документации должно сработать
Код
"PRICE" => '123', // цена с учетом скидок и наценок
"DISCOUNT_PRICE" => '2', // скидка %
 
доброго времени) а есть ли возможность в доптовар картинку подтягивать?
 
В самом методе этого не вижу, но там есть массив свойств "PROPS" можно поопробовать туда передать.
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

Блог-note: заметки разработчика

Сортировать товары по названию, цене и дате поступления в каталоге Битрикс

Достаточно часто заказчик просит вывести сортировку по цене, новым поступлениям и названию в каталоге товаров работающег...

Установка вебсервера на Apple Silicon (нативный ARM стек), оптимизированный для 1С-Битрикс.

Появилась задачка, установить стек MAMP (macOS, Apache, MYSQL, PHP) на рабочий ноутбук с процессором Apple Silicon M1. В...

Повторить заказ на API 1С-Битрикс наполнив корзину из заказа

Задача: заполнить корзину пользователя теми же товарами и количествами которые были в ранее созданном заказе. При этом н...

Создание раздела инфоблока при регистрации пользователя в Битрикс

Например вам нужно выводить информацию исключительно для определенного пользователя. Само собой, это можно сделать с пом...

Адаптивное гамбургер меню для битрикс

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

Фотогалерея на базе компонента новостей, с fancybox.

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

Как получить свойства заказа в 1С-Битрикс: старые методы и современный API D7

Задача: Получить все доступные свойства заказа для всех активных типов плательщика из модуля магазина.

Доступ к домашнему серверу с серым IP из интернета через SSH-тоннель

Предположим, у вас есть сервер в домашней сети, который недоступен из интернета, так как находится за NAT с серым IP. Вы...

Удаление недоступных для заказа товаров из корзины

Задача: пользователи магазина могу наполнять корзины, но не доходить до оформления заказа. Такие корзины считаются броше...