Например, у товаров или торговых предложений вы задали 2 типа цен: розничная и оптовая. Используя модуль, вы можете задать условия, при которых будут отображаться оптовые цены у товаров или розничные.
Возможности:
• задать основной тип цен;
• создавать правила смена типа цены на любой другой;
• для задания условий в правиле доступны: выбор инфоблоков, разделов, свойств, суммы заказа в корзине, вес и объем товаров в корзине, количество позиций, валюты и наценки товаров и торговых предложений;
• вывод предупреждения о минимальной сумме заказа в корзине;
• комбинировать условия, используя логические операторы;
• выбрать группы пользователей, на которых будут распространяться созданные правила;
• модуль работает с различными валютами, округлением, НДС, коэффициентом единиц измерения и скидками.
Инструкция:
После установки модуля стандартными средствами Битрикс, убедитесь что у вас заданы значения для разных типов цен у товаров или торговых предложений.
Если у вас существует только один тип цен (он будет базовым), то необходимо создать дополнительный тип цен. Например, если базовым типом цен являются розничные цены, то чтобы добавить возможность установить для товаров и торговых предложений оптовые цены, необходимо создать отдельный тип цен.
Для это в административной части переходим в раздел "Магазин - Настройки - Цены - Типы цен" и нажимаем в нем кнопку "Новый тип цен". На открывшейся странице, указываем: код типа цен, название и группы пользователей, имеющих право на просмотр и покупку по данному типу цен.
<img width="1510" height="942" src="https://profi-studio.ru/uploads/Image/basketprice/3.PNG">
Когда есть хотя бы 2 типа цен, можно переходить к созданию правил их смены в корзине по заданным условиям.
Чтобы создать правило, перейдите в административную часть «Контент — Типы цен в корзине — ВАШ САЙТ — Правила» и добавить новое правило:
<img width="752" height="520" src="https://profi-studio.ru/uploads/Image/basketprice/1.PNG">
В настройках правило необходимо задать ему активность, сортировку, название и указать группы пользователей, для которых будет срабатывать правило.
Далее необходимо настроить условия самого правила для различных типов цен:
<img width="1195" height="917" src="https://profi-studio.ru/uploads/Image/basketprice/2.PNG">
- Задаем основной тип цен. Он будет использоваться, если заданные далее условия не выполняются, чтобы сменился тип цены.
- Задаем второй тип цен и условия для его использования. Функционал модуля позволяет группировать условия и использоваться логические операторы «И/ИЛИ».
В нашем примере (на скриншоте выше)мы создали условия для смена типа цены с РОЗНИЧНОЙ на ОПТОВУЮ: сумма заказа в корзине должна быть большем 10 000 руб И (товар должен быть из раздела «платья» ИЛИ свойство товара «производитель» должно содержать «Lanika»).
- Аналогичным образом как в п.2 мы можем добавить условия ещё для какого-то типа цен.
Чтобы реализовать функционал проверки минимальной суммы заказа без доставки и вывода соответствующего предупреждения, необходимо будет установить специальный код в компоненте корзины (рекомендуется выполнять разработчику):
1. Если шаблон компонента корзины bitrix:sale.basket.basket системный (находится в папке /bitrix/components/bitrix/..), то его нужно скопировать в папку с шаблоном сайта и выбрать его в настройках компонента.
2. В вашем пользовательском шаблоне компонента корзины bitrix:sale.basket.basket в конце файла mutator.php перед строкой $result['TOTAL_RENDER_DATA'] = $totalData; добавить код:
if(BitrixMainLoader::includeModule('profistudio.basketprice'))
{
$totalData['SUM_MIN_PRICE'] = ProfistudioBasketPriceSale::getOrderMinBasePriceSite(SITE_ID, BitrixSaleFuser::getId(), $result['CURRENCY']);
$totalData['SUM_MIN_PRICE_FORMATED'] = SaleFormatCurrency($totalData['SUM_MIN_PRICE'], $result['CURRENCY']); // Минимальная сумма заказа (без доставки)
$LocalPrice = ProfistudioBasketPriceSale::getBasketBaseSumSite(SITE_ID, BitrixSaleFuser::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}}
Кстати!
Если вы серьезно занимаетесь маркетингом и настроены на плодотворную работу по увеличению прибыли, то рекомендуем вам ознакомиться с нашими решениями для интернет-магазинов:
- Модуль для собственных сортировок товара «Мерчандайзер»
- Модуль быстрых SEO-ссылок для каталога товаров
- Модуль автогенерации SEO-настроек (мета-теги, карта сайта и многое другое) для страниц умного фильтра
Модуль точечной настройки SEO для страниц с параметрами (страницы умного фильтра, поиска и т.п.)




