Типы цен в корзине по условиям

Рейтинг:
45 000 тг.
Работает на редакциях Битрикс:
БизнесИнтернет-магазин + CRM
Выберите подарок При покупке данного товара вам полагается один из подарков представленных ниже
Помощь, техподдержка
Нужна помощь?
Поможем с настройкой "Типы цен в корзине по условиям"

Модуль «Типы цен в корзине» для 1С Битрикс: Управление сайтом, позволяет изменять тип цены у товаров в корзине, согласно заранее заданным условиям (например, минимальной сумме заказа, свойствам товаров, разделов и т.д.).

Например, у товаров или торговых предложений вы задали 2 типа цен: розничная и оптовая. Используя модуль, вы можете задать условия, при которых будут отображаться оптовые цены у товаров или розничные.

Возможности:

• задать основной тип цен;

• создавать правила смена типа цены на любой другой;

• для задания условий в правиле доступны: выбор инфоблоков, разделов, свойств и суммы заказа в корзине;

• вывод предупреждения о минимальной сумме заказа в корзине;

• комбинировать условия, используя логические операторы;

• выбрать группы пользователей, на которых будут распространяться созданные правила;

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

Инструкция:

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

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

Для это в административной части переходим в раздел "Магазин - Настройки - Цены - Типы цен" и нажимаем в нем кнопку "Новый тип цен". На открывшейся странице, указываем: код типа цен, название и группы пользователей, имеющих право на просмотр и покупку по данному типу цен.

Фото 1: «Типы цен в корзине по условиям»

Когда есть хотя бы 2 типа цен, можно переходить к созданию правил их смены в корзине по заданным условиям.

Чтобы создать правило, перейдите в административную часть «Контент — Типы цен в корзине — ВАШ САЙТ — Правила» и добавить новое правило:

Фото 2: «Типы цен в корзине по условиям»

В настройках правило необходимо задать ему активность, сортировку, название и указать группы пользователей, для которых будет срабатывать правило.

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

Фото 3: «Типы цен в корзине по условиям»
  1. Задаем основной тип цен. Он будет использоваться, если заданные далее условия не выполняются, чтобы сменился тип цены.
  2. Задаем второй тип цен и условия для его использования. Функционал модуля позволяет группировать условия и использоваться логические операторы «И/ИЛИ».
    В нашем примере (на скриншоте выше)мы создали условия для смена типа цены с РОЗНИЧНОЙ на ОПТОВУЮ: сумма заказа в корзине должна быть большем 10 000 руб И (товар должен быть из раздела «платья» ИЛИ свойство товара «производитель» должно содержать «Lanika»).
  3. Аналогичным образом как в п.2 мы можем добавить условия ещё для какого-то типа цен.
Далее мы можем указать текст предупреждения и минимальную сумму заказа без доставки, которые будут выводиться в корзине. Если сумма заказа окажется меньше заданной, то заказ не будет создан.

Чтобы реализовать функционал проверки минимальной суммы заказа без доставки и вывода соответствующего предупреждения, необходимо будет установить специальный код в компоненте корзины (рекомендуется выполнять разработчику):

1. Если шаблон компонента корзины bitrix:sale.basket.basket системный (находится в папке /bitrix/components/bitrix/..), то его нужно скопировать в папку с шаблоном сайта и выбрать его в настройках компонента.

2. В вашем пользовательском шаблоне компонента корзины bitrix:sale.basket.basket в конце файла mutator.php перед строкой $result['TOTAL_RENDER_DATA'] = $totalData; добавить код:
if(\Bitrix\Main\Loader::includeModule('profistudio.basketprice'))
{
   $totalData['SUM_MIN_PRICE'] = \Profistudio\BasketPrice\Sale::getOrderMinBasePriceSite(SITE_ID, \Bitrix\Sale\Fuser::getId(), $result['CURRENCY']);
   $totalData['SUM_MIN_PRICE_FORMATED'] = \SaleFormatCurrency($totalData['SUM_MIN_PRICE'], $result['CURRENCY']); // Минимальная сумма заказа (без доставки)
   $LocalPrice = \Profistudio\BasketPrice\Sale::getBasketBaseSumSite(SITE_ID, \Bitrix\Sale\Fuser::getId(), $result['CURRENCY']); // Сумма в корзине без скидок (основной тип цен)
   if($result['allSum'] < $LocalPrice)
   {
       $totalData['SUM_PRICE_MAX'] = $LocalPrice;
       $totalData['SUM_PRICE_MAX_FORMATED'] = \SaleFormatCurrency($LocalPrice, $result['CURRENCY']);
   }
}
3. В вашем пользовательском шаблоне компонента корзины bitrix:sale.basket.basket в файле js-templates/basket-total.php для вывода минимальной суммы заказа (без доставки) в нужном месте добавить код:
{{#SUM_MIN_PRICE}}
   <div>Минимальная сумма заказа {{{SUM_MIN_PRICE_FORMATED}}}</div>
{{/SUM_MIN_PRICE}}
Для вывода суммы в корзине без скидок по основному типу цен добавить код:
{{#SUM_PRICE_MAX}}
   <div>{{{SUM_PRICE_MAX_FORMATED}}}</div>
{{/SUM_PRICE_MAX}}

Разработчик Profi
Опубликовано 18.11.2021
Обновлено 20.11.2024
Версия 2.0.6
Установлено 100 - 499 раз
Адаптивность Да
Поддержка Композита Да
Подходящие редакции Бизнес, Интернет-магазин + CRM
Пробный период Есть
Пробный период, дней 7