\ Минимальная сумма заказа в корзине Битрикс

Минимальная сумма заказа в корзине Битрикс

10.10.2023
0
648
0
Дмитрий Шевелёв
Дмитрий Шевелёв
Компания: Понятно.Web
Казалось бы такая простая и нужная настройка должна по умолчанию находиться в настройках интернет-магазина, но к сожалению, в Битриксе её, по каким-то причинам нет. Хотя во многих CMS, в том числе и бесплатных, такая настройка идет, что называется, “из коробки”.

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

Приступим:

Шаг 1. Определяем используемый шаблон корзины
Если вы точно знаете какой шаблон корзины вы используете, то переходите сразу к шагу 3. Чтобы узнать какой шаблон вы используете, вам необходимо зайти в административную часть сайта и включить редактирование в правом верхнем углу.


Добавим любой товар в корзину и перейдем в неё по значку корзины, кнопке “перейти в корзину” или по адресу /personal/cart/
Наведем на список товаров и нажимаем на “шестеренку” как показано на скриншоте:


Откроются параметры компонента корзины и в самом первой строке вы увидите название своего шаблона:


Шаг 2. Далее мы советуем воспользоваться FTP клиентом и дальнейшее редактирование проводить в нём, а не использовать встроенный редактор Битрикса, т.к. при малейшей ошибке, чтобы восстановить работу сайту всё равно придется прибегать к FTP клиенту или файловому менеджеру в панели хостинга.
Через FTP-клиент открываем папку с вашим шаблоном корзины. Обычно она находится по адресу
/bitrix/components/bitrix/sale.basket.basket/templates/Название_Вашего_Шаблона/
или
/local/templates/components/bitrix/sale.basket.basket/Название_Вашего_Шаблона/

Адреса могут незначительно отличаться, важно чтобы совпало sale.basket.baske и название вашего шаблона из шага 1.

Шаг 3. В папке вашего шаблона находим и открываем файл mutator.php
Находим в нём следующий код:

$totalData = array(
'DISABLE_CHECKOUT' => (int)$result['ORDERABLE_BASKET_ITEMS_COUNT'] === 0,
'PRICE' => $result['allSum'],
'PRICE_FORMATED' => $result['allSum_FORMATED'],
'PRICE_WITHOUT_DISCOUNT_FORMATED' => $result['PRICE_WITHOUT_DISCOUNT'],
'CURRENCY' => $result['CURRENCY']
);

Этот код делает кнопку “Оформить заказ” неактивной, а так же формируем сумму заказа, которая как раз нам и нужна. Сразу после этого кода (после закрывающейся скобочки и знака точки с запятой) вставляем вот такой небольшой код:

if ($result['allSum'] < 999) {
$totalData ['DISABLE_CHECKOUT'] = 1;
}

Где вместо 999 вы можете указать нужную вам минимальную сумму для заказа. И сохраняете файл. В конечном итоге у вас должно получиться вот так:



Шаг 4. Наша техническая часть готова, но нам ещё нужно предупредить пользователя о необходимой минимальной суммы для заказа, чтобы у него не возникало лишних вопросов. Для этого в той же папке нашего шаблона открываем файл template.php
Находим строчку
<div id="basket-root" class="bx-basket bx-<?=$arParams['TEMPLATE_THEME']?> bx-step-opacity" style="opacity: 0;">

и после неё вставляем наше сообщение следующем кодом:
<p style="color: red">Минимальная сумма заказа 999 руб.</p>

Ваш код будет выглядеть так:


А пользователь увидит это сообщение в самом начале странице с корзиной:


Делитесь результатом в комментариях!
💬 Комментарии 0