Как выставить в Битриксе минимальную сумму заказа
Разберем случай, когда в административной части интернет-магазина на базе CMS 1С Битрикс нет возможности выставить минимальную сумму заказа, после достижения которой покупатель сможет оформить свою покупку. Это актуально в первую очередь для розничных магазинов с физическими товарами, стоимость которых за единицу не превышает 100 рублей. Задача довольно частая, решение поможет:
- разгрузить менеджеров и курьеров;
- снизить число заказов, увеличив при этом маржинальность.
Внимание! Часть покупателей можно потерять, т.к. людям не нравятся подобного рода ограничения.
В Битриксе минимальную сумму заказа для корзины можно ограничить как минимум двумя способами:
- С помощью одноименного готового решения из официального маркетплейса.
- Добавив пару строчек кода на страницах шаблона выбранной темы.
Рассматривать будем только второй вариант, т.к. я работаю преимущественно с кастомными CMS (кем-то измененными до меня на уровне ядра) и плагины на них часто не работают.
Что потребуется для реализации
Для работы нам потребуется:
- FTP-доступ на сервер интернет-магазина с полными правами и текстовый редактор кода, чтобы была возможность внести изменения в файлы. В качестве альтернативы можно использовать встроенный редактор в административной панели Битрикса.
- Программа Total Commander, которая поможет сделать быстрый поиск по файлам мест правки кода. Для ускорения процесса скачиваем архив активированной темы дизайна сайта к себе на жесткий диск и ищем в нем.
Править будем код корзины.
Важно! Если на сайте магазина установлена стандартная тема оформления, то прежде всего стоит скопировать файлы темплейтов из папки bitrix в своё поле имен и затем уже вносить правки. Иначе все изменения исчезнут после первого обновления CMS.
В моем случае корзина выводится с помощью виджетов в шапке и левой колонке под категориями каталога и есть еще блок в виде отдельной страницы. Всего 3 шаблона. Их предстоит найти.
Внимание! Не повторяйте это, если не уверены в своих действиях. Обязательно делайте полную резервную копию, включая базу данных, перед любыми правками. На случай, если что-то сломается.
Правка виджетов корзины
Заходим на сайт под администратором и переводим Режим правки в позицию "Включен". Виджеты корзины можно доработать через стандартный функционал, нажав на шестеренку и открыв код.

Открываем виджет корзины на редактирование.
В этом примере покупатель, добавив в корзину товар, видит кнопку "Оформить". Находим её в html коде страницы. Для удобства поиска использую консоль браузера Mozilla Firefox.
Предположим, изначально кнопка выглядит так:
<a href=
/personal/cart/>Оформить</a>
Чтобы для оформления заказа нужно было набрать товара на 5 000 рублей, дополним код следующими строками:
<?if ($sum >= 5000):?>
<a href=/personal/cart/>Оформить</a>
<?endif;?>
Для удобства можно еще добавить else и вписать туда фразу "Минимальная сумма заказа 5000 рублей".
Сохраняем изменения. Обновляем страницу. Должно заработать.
Рассматриваемый магазин работает на сильно кастомизированной теме, собранной практически с нуля по ТЗ и часть переменных в коде отличается от тех, которые заложены в CMS Битрикс изначально. Поэтому, если все сделано как написано, но что-то не сработало, снова идём в шаблон, где вносили изменения, и над кнопкой "Оформить" смотрим, какая переменная выводит сумму заказа в форму виджета корзины. Если там $sum, то описанный выше вариант сработает. Если что-то другое, заменяем $sum на ту переменную, которая отвечает за вывод стоимости заказа в шаблоне. Сохраняем. Обновляем страницу и смотрим на результат, добавляя товары в корзину из каталога.
Шаблон корзины
Помимо виджетов есть еще отдельная страничка корзины, откуда покупатель попадает непосредственно на страницу оформления заказа. Для правки нам потребуется FTP-доступ к серверу. Если вы используете другой метод, можете сделать иначе. Идем в свой макет, ищем там папку sale.basket.basket. Внутри находим файл basket_items.php. Лезем в код. Нам вновь нужна кнопка "Оформить заказ", которую мы оборачиваем в следующее условие:
<?if ($arResult[
allSum] >= 5000):?><?endif;?>
Если нужна минимальная стоимость заказа не 5, а допустим 2 тысячи, заменяем цифры в коде на свои.
После сохранения при покупке на сумму менее указанной в условии кнопка оформления заказа не будет отображаться на странице и покупатель не сможет осуществить заказ.
Однако осталась проблема: допустим, покупатель хитрый и смог обойти как-то тот факт, что со страниц магазина не попасть в корзину до тех пор, пока не положишь туда товар на нужную сумму. В итоге он в корзине, но кнопки заказа нет. Он расстроился. Не понял, в чем дело и ушел к конкурентам. Чтобы смягчить эффект недовольства, ставим вилку с else и пишем о минимальной стоимости заказа.
Так, положив в корзину товар на 300 рублей, потенциальный клиент видит, что ему надо либо еще набрать несколько позиций до 5 тысяч, либо здесь закупаться не вариант.

Вебмастер. Интернет-предприниматель. Первый сайт создал в конце 90-х, еще в школе. Сертифицированный специалист. Участник ежегодных конференций по продажам, SEO, маркетингу, разработке сайтов, арбитражу трафика.