Авторизация
Корзина
0
Скриншоты
Описание
Технические данные
- Опубликовано:
- 05.12.2023
- Версия:
- 1.0.0
- Установлено:
- Менее 50 раз
- Подходящие редакции:
- «Малый бизнес», «Бизнес»
- Адаптивность:
- Да
- Поддержка Композита:
- Да
- Совместимо с Сайты24
- Нет
- Совместимо с PHP 8.1
- Да
Пользовательское соглашение
Описание
Модуль добавляет новое действие в правила работы с корзиной: устанавливает скидку из свойства заказа, что позволяет задать динамическую величину скидки для заказа.
Отзывы ()
Пока что нет отзывов.
Обсуждения (0)
Здесь пока никто ничего не написал. Будьте первым.
Установка
Скачайте и установите модуль.
Создайте свойство заказа с типом данных «Число». Установите флаг «Служебное», если свойство заполняете сами на событии заказа. В противном случае, оно будет отображаться в форме оформления заказа, и пользователь сможет самостоятельно указать скидку.
Добавьте правило работы с корзиной, заполнив стандартные настройки (название, приоритеты и прочее).
Добавьте действие «Intensa: Применить скидку из свойства заказа».
Укажите тип расчета скидки из списка:
После создания правила, реализуйте заполнение свойства в форме оформления заказа или на событие компонента sale.order.ajax.
Добавляем товар в корзину и оформляем заказ.
Смотрим заказ в административной части.
Скидка применена, все работает!
Создайте свойство заказа с типом данных «Число». Установите флаг «Служебное», если свойство заполняете сами на событии заказа. В противном случае, оно будет отображаться в форме оформления заказа, и пользователь сможет самостоятельно указать скидку.
Добавьте правило работы с корзиной, заполнив стандартные настройки (название, приоритеты и прочее).
Добавьте действие «Intensa: Применить скидку из свойства заказа».
Укажите тип расчета скидки из списка:
- % — в свойство записывается процент скидки на корзину заказа (указав «не более» можно ограничить максимальную скидку в количественном выражении),
- RUB на общую сумму товаров — в свойство записывается фиксированная скидка на корзину заказа,
- RUB на каждый товар — в свойство записывается фиксированная скидка за каждый товар в корзине.
После создания правила, реализуйте заполнение свойства в форме оформления заказа или на событие компонента sale.order.ajax.
В случае, когда свойство заполняется непосредственно пользователем в форме оформления заказа, для применения скидки необходимо вызвать пересчет заказа BX.Sale.OrderAjaxComponent.sendRequest(). Не забывайте валидировать вводимые значения.
В случае, когда свойство заполняется на событии заказа (рекомендованное OnSaleComponentOrderCreated), не забывайте передавать $arUserResult['CALCULATE_PAYMENT'] = 'Y'.
Пример для события в init.phpДобавляем событие и задаем значение 399, чтобы проверить скидку.
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleComponentOrderCreated', (static function(\Bitrix\Sale\Order $order, &$arUserResult, \Bitrix\Main\HttpRequest $request, &$arParams, &$arResult) { $propertyCollection = $order->getPropertyCollection(); $property = $propertyCollection->getItemByOrderPropertyCode('BONUSES'); if (! $property instanceof \Bitrix\Sale\PropertyValueBase) { return; } $property->setValue(399); $arUserResult['CALCULATE_PAYMENT'] = 'Y'; }) ); |
Добавляем товар в корзину и оформляем заказ.
Смотрим заказ в административной части.
Скидка применена, все работает!
Поддержка
Поддержка (вопросы, ошибки, идеи) осуществляется по электронной почте support24@intensa.ru
Режим работы: 09:00-18:00 по московскому времени.
Время реакции на обращение: 48 часов.
Выходные дни: суббота и воскресенье.
Режим работы: 09:00-18:00 по московскому времени.
Время реакции на обращение: 48 часов.
Выходные дни: суббота и воскресенье.