Описание
[P]Модуль «Типы цен в корзине» для 1С Битрикс: Управление сайтом, позволяет изменять тип цены у товаров в корзине, согласно заранее заданным условиям (например, минимальной сумме заказа, свойствам товаров, разделов и т.д.).[/P]
[P][/P]
[P]Например, у товаров или торговых предложений вы задали 2 типа цен: розничная и оптовая. Используя модуль, вы можете задать условия, при которых будут отображаться оптовые цены у товаров или розничные.[/P]
[P][/P]
[P][B]Возможности:[/B][/P]
[P]• задать основной тип цен;[/P]
[P]• создавать правила смена типа цены на любой другой;[/P]
[P]• для задания условий в правиле доступны: выбор инфоблоков, разделов, свойств и суммы заказа в корзине;[/P]
[P]• вывод предупреждения о минимальной сумме заказа в корзине;[/P]
[P]• комбинировать условия, используя логические операторы;[/P]
[P]• выбрать группы пользователей, на которых будут распространяться созданные правила;[/P]
[P]• модуль работает с различными валютами, округлением, НДС, коэффициентом единиц измерения и скидками.[/P]
[P][/P]
[P][B]Инструкция:[/B][/P]
[P]После установки модуля стандартными средствами Битрикс, убедитесь что у вас заданы значения для разных типов цен у товаров или торговых предложений.[/P]
[P]Если у вас существует только один тип цен (он будет базовым), то необходимо создать дополнительный тип цен. Например, если базовым типом цен являются розничные цены, то чтобы добавить возможность установить для товаров и торговых предложений оптовые цены, необходимо создать отдельный тип цен.[/P]
[P]Для это в административной части переходим в раздел «Магазин — Настройки — Цены — Типы цен» и нажимаем в нем кнопку «Новый тип цен». На открывшейся странице, указываем: код типа цен, название и группы пользователей, имеющих право на просмотр и покупку по данному типу цен.[/P]
[P][URL=https://profi-studio.ru/uploads/Image/basketprice/3.PNG][IMG WIDTH=1510 HEIGHT=942]https://profi-studio.ru/uploads/Image/basketprice/3.PNG[/IMG][/URL]
[/P]
[P][/P]
[P]Когда есть хотя бы 2 типа цен, можно переходить к созданию правил их смены в корзине по заданным условиям.[/P]
[P]Чтобы создать правило, перейдите в административную часть «Контент — Типы цен в корзине — ВАШ САЙТ — Правила» и добавить новое правило:[/P]
[P][URL=https://profi-studio.ru/uploads/Image/basketprice/1.PNG][IMG WIDTH=752 HEIGHT=520]https://profi-studio.ru/uploads/Image/basketprice/1.PNG[/IMG][/URL]
[/P]В настройках правило необходимо задать ему активность, сортировку, название и указать группы пользователей, для которых будет срабатывать правило.
Далее необходимо настроить условия самого правила для различных типов цен:
[URL=https://profi-studio.ru/uploads/Image/basketprice/2.PNG][IMG WIDTH=1195 HEIGHT=917]https://profi-studio.ru/uploads/Image/basketprice/2.PNG[/IMG][/URL]
[LIST=1]
[*]Задаем основной тип цен. Он будет использоваться, если заданные далее условия не выполняются, чтобы сменился тип цены.
[*]Задаем второй тип цен и условия для его использования. Функционал модуля позволяет группировать условия и использоваться логические операторы «И/ИЛИ».
В нашем примере (на скриншоте выше)мы создали условия для смена типа цены с РОЗНИЧНОЙ на ОПТОВУЮ: сумма заказа в корзине должна быть большем 10 000 руб И (товар должен быть из раздела «платья» ИЛИ свойство товара «производитель» должно содержать «Lanika»).
[*]Аналогичным образом как в п.2 мы можем добавить условия ещё для какого-то типа цен.
[/LIST]Далее мы можем указать текст предупреждения и минимальную сумму заказа без доставки, которые будут выводиться в корзине. Если сумма заказа окажется меньше заданной, то заказ не будет создан.
Чтобы реализовать функционал проверки минимальной суммы заказа без доставки и вывода соответствующего предупреждения, необходимо будет установить специальный код в компоненте корзины (рекомендуется выполнять разработчику):
1. Если шаблон компонента корзины bitrix:sale.basket.basket системный (находится в папке /bitrix/components/bitrix/..), то его нужно скопировать в папку с шаблоном сайта и выбрать его в настройках компонента.
2. В вашем пользовательском шаблоне компонента корзины bitrix:sale.basket.basket в конце файла mutator.php перед строкой $result['TOTAL_RENDER_DATA'] = $totalData; добавить код:[QUOTE]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']);
}
}[/QUOTE]
3. В вашем пользовательском шаблоне компонента корзины bitrix:sale.basket.basket в файле js-templates/basket-total.php для вывода минимальной суммы заказа (без доставки) в нужном месте добавить код:[QUOTE]{{#SUM_MIN_PRICE}}
{{/SUM_MIN_PRICE}}
Для вывода суммы в корзине без скидок по основному типу цен добавить код:
{{#SUM_PRICE_MAX}}
{{/SUM_PRICE_MAX}}[/QUOTE]