Описание

Модуль позволяет указать минимальную сумму заказа, которая требуется для оформления заказа, и выводит уведомление, если сумма не достигнута.

Уведомление выводится при нажатии на кнопку «Оформить заказ». Для вывода информации о минимальной сумме заказа перед компонентом оформления заказа, можно добавить вызов компонента (подробнее см. в разделе Дополнительный компонент).

Пример результата работы

Принцип работы

Модуль работает при компоненте и шаблоне оформления заказа, которые поддерживают стандартные обработки ошибок. Тестировался модуль на стандартном шаблоне и таком популярном шаблоне, как Аспро: Next.

Модуль не является полностью универсальным для любых компонентов. Если вы используете не стандартный компонент оформления заказа, то скорее всего вам нужно будет самостоятельно обработать показ ошибки, чтобы уведомить пользователя, почему заказ не создается.

Работа модуля организована за счет события OnSaleOrderBeforeSaved, который поддерживает стандартный компонент bitrix:sale.order.ajax.

Установка

Стандартная установка согласно инструкции «1С-Битрикс: Маркетплейс». В начале статьи есть 2 кнопки: одна ведет в Маркетплейс, другая ведет сразу на установку. После установки нужно перейти к настройкам модуля и задать необходимые параметры.

Настройки модуля

Модуль имеет следующие настройки:

  • Модуль включен – галочка, отвечающая за включение функционала модуля;
  • Минимальная сумма заказа – число, задающее минимальную сумму, которая требуется для оформления заказа;
  • Прибавлять сумму примененных скидок к итоговой сумме – галочка, отвечающая за то, будет ли прибавлена сумма скидок (по правилам работы с корзиной) к сумме, использующейся для проверки на минимальную сумму заказа;
  • Отнимать стоимость доставки от итоговой суммы – галочка, отвечающая за то, будет ли учитываться сумма доставки в сумме, использующейся для проверки на минимальную сумму заказа;
  • Сообщение, которое отображается, если сумма заказа меньше минимальной – сообщение, которое будет выведено пользователю при попытке оформления заказа, если сумма заказа меньше указанной минимальной суммы заказа;
  • Показывать также сообщение в попапе на странице оформления заказа – галочка, отвечающая за то, нужно ли показывать сообщение из предыдущей настройки во всплывающем окне при попытке оформления заказа;
  • Группы пользователей, на которых распространяется условие – список множественного выбора, позволяющий указать группы пользователей, для которых будет производится проверка на минимальную сумму заказа (если не указано, то все группы);
  • Службы доставки, при которых проверяется условие – список множественного выбора, позволяющий указать службы доставки, при которых будет производиться проверка на минимальную сумму заказа (если не указано, то при всех службах доставки).

Дополнительный компонент

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

Для вывода уведомления перед компонентом оформления заказа, добавьте перед его вызовов вызов специального компонента модуля в файле страницы оформления (правки в код рекомендуется вносить, используя FTP).

Минимальный код вызова компонента (без параметров):

$APPLICATION->IncludeComponent("sl3w:order.minprice", ""); 

У компонента есть настраиваемый параметр – «Текст сообщения», задающий текст, который выводится компонентом (по умолчанию берется текст из модуля). В нем в качестве маски/макроса можно использовать тег #MIN_PRICE#, вместо которого подставится минимальная сумма заказа, указанная в настройках модуля. Сам текст в компоненте "обернут" в CSS класс sl3w_minpriceorder__component-text, с помощью которого вы сможете задать требуемые вам стили для этого блока.

Компонент в отличие от уведомления на странице оформления не подставляет переменные #PRICE# и #DIFF_PRICE# – будьте внимательны.