Битрикс: как установить минимальную сумму заказа?

1. bo_ 63 15.10.12 13:14 Сейчас в теме
Приветствую, коллеги!

Cоздал интернет магазин на Битриксе www.mikook.ru

Возник вопрос: не могу найти ограничение заказа по сумме (минимальная сумма заказа).
Есть ли такая возможность в Битриксе?
Может кто может подсказать в каком направлении копать?
Или может есть какие то сторонние решения названной задачи?

Заранее благодарен!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. aguilar 08.02.13 00:24 Сейчас в теме
правда в свое время делали через кастомизацию компонентов

1 способ:
в компоненте корзины в случае нажатия кнопки оформить заказ проверяете позиции корзины
в случае если сумма вам не нравится выдайте сообщение
если все в порядке можете отправить на процедуру оформления заказа (в компоненте это сделано через LocalRedirect)

2. способ
корректируем компонент оформления заказа
на первом шаге проверяете корзину
если все в порядке - идем далее
иначе "посылаете" пользователя и не даете перейти на другие шаги

желательно реализовать 2 способ
ибо проверку перед оформлением заказа надо делать всегда
можно перейти на оформление заказа минуя корзину

в идеале если не трудн, то можно реализовать и то и то

Как вариант такое решение:
деактивировать кнопку "Оформить заказ" в корзине пока сумма в строке Итого не превысит нужное значение.
Реализация:
Редактируем файл basket_items.php (он находится по пути ниже, если вы скопировали компонент bitrix:store.sale.basket.basket в свои шаблоны: bitrix\templates\ваш_шаблон\components\bitrix\store.sale.basket.basket\ваша_корзина.basket\).
В самом низу ищем блок:

<div class="cart-ordering">
      <?if ($arParams["HIDE_COUPON"] != "Y"):?>
         <div class="cart-code">
            <input <?if(empty($arResult["COUPON"])):?>onclick="if (this.value=='<?=GetMessage("SALE_COUPON_VAL")?>')this.value=...
         </div>
      <?endif;?>
      <div class="cart-buttons">
         <input type="submit" value="<?echo GetMessage("SALE_UPDATE")?>" name="BasketRefresh">
      <?if ($arResult["allSum"] < 500):?>
         <input type="submit" disabled="<?echo 'disabled'?>" value="<?echo GetMessage("SALE_ORDER")?>" name="BasketOrder"  id="bas...
         <p>Оформление заказа возможно после наполнения корзины на сумму более 500 рублей.</p>
      <?else:
         echo '<input type="submit" value="'.GetMessage("SALE_ORDER").'" name="BasketOrder"  id="basketOrderButton2">';
      endif;?>
      </div>
   </div>
Показать


добавляем записи (это фрагменты кода расположенного выше):
1. это выражение проверяет сумму заказа - подставляете свое число, определяющее минимальную сумму (здесь 500):
<?if ($arResult["allSum"] < 500):?>


2. в следующую строку вставляем параметр, деактивирующий кнопку "Оформить заказ":
disabled="<?echo 'disabled'?>"


после этой строки можно добавить сообщение, разъясняющее, почему кнопка неактивна - чтобы не возникало недоумений у пользователя.
3. следующую строку вставить как здесь:
<?else:
   echo '<input type="submit" value="'.GetMessage("SALE_ORDER").'" name="BasketOrder"  id="basketOrderButton2">';
endif;?>
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот