109

голосов

Минимальная сумма заказа в Shop Script 5

Что б при не достижении минималки в корзине вместо кнопки "оформить" выводилось сообщение: "минимальная сумма заказа составляет ххх денег"

Игорь, 21.05.2013, 11:46
это Cпам? Помечено как дубликат
Официальный ответ
Vladimir V. Tuporshin, 18.02.2015
Приглашаем разработчиков реализовать такой плагин для Shop-Script 5. «Из коробки» такой функционал не планируется. Для разработчиков: http://www.shop-script.ru/developers/

UPD 2015: Готовые реализации: http://www.webasyst.ru/store/plugin/shop/wholesale/
http://www.webasyst.ru/store/plugin/shop/numberofproducts/
Статус идеи: выполнено

Комментарии

Alex, 22.05.2013, 19:01
минимальную сумму заказа нужно привязывать к способу доставки, самовывоз от 1 у.е., доставка почтой от 50 у.е., курьером по городу от 100 у.е. ..как-то вот так
Игорь, 24.05.2013, 14:35
Для vofka.

Ответ на мой вопрос в службу поддержки 17 апреля, 14:04:
Минимальная сумма заказа[ID:1237324]
Такой возможности в Shop-Script 5 пока нет, но она будет реализована в одном из ближайших обновлений скрипта. Дату обновления мы пока не можем назвать.
--
С уважением, Денис
Служба поддержки WebAsyst

В WebAsyst возникли разногласия?
Дмитрий, 31.08.2013, 11:57
Да. Согласен, что минимальная сумма заказа должна быть разная в зависимости от способа доставки. Что касается того, как это будет работать, то было бы совсем замечательно, если бы текст который выводится, если товара выбрали меньше минимально установленной суммы, можно было тоже как-то редактировать.
Alexej, 24.11.2014, 03:01
Зачем вам отдельный плагин, если работы всего на 5 минут и пару строк кода? Самостоятельно можно настроить. Открываете фаил cart.html там находите строку с кодом:
<input name="checkout" type="submit" value="[`Proceed to checkout`] &rarr;" class="button large">
и заменяете на следующее:
{if $cart.total < 50}
Минимальный заказ 50€
{else}
<input name="checkout" type="submit" value="[`Proceed to checkout`] &rarr;" class="button large">
{/if}
Игорь, 24.11.2014, 23:30
Возможно ли в таком подходе учесть многовалютность?
Alexej, 25.11.2014, 13:20
Если Вы пользуетесь облачной версией, то нет. Если же имеете полностью доступ к фреймворку, то думаю проблем особых не будет добавить функцию, для определения валюты.
Alexej, 15.12.2014, 15:38
Смотрите ниже решение для мультивалютности.
Alexej, 15.12.2014, 15:20
Итак помучавшись с облачной версией, я её всётаки победил. Вот код который стоит у меня.
{if ($wa->shop->currency()=='RUB' && substr(shop_currency_html($cart.total,'RUB','EUR'), 3) < 50) || ($wa->shop->currency()=='EUR' && substr(shop_currency_html($cart.total,'EUR'), 3) < 50) }

Сумма ниже минимальной
{else}

<input name="checkout" type="submit" value="[`Proceed to checkout`] &rarr;" class="button large">
{/if}
Теперь объяснения.
первая строчка: проверяем какая валюта сейчас включена $wa->shop->currency()=='RUB', далее substr(shop_currency_html($cart.total,'RUB','EUR'), 3) < 50 делаем пересчёт из рублей в евро, удаляем аббревиатуру евро(EUR) перед числом, иначе строка не будет распознаваться как число и знак меньше не даст эффекта при сравнении. Заключаем эти два условия в скобки и дальше ставим || этот знак означает слово ИЛИ. И вставляем проверку стоит ли сейчас у пользователя EUR как валюта и делаем сравнение с нашей минималкой.
Вкратце читая условие словами будет звучать так: ЕСЛИ ( стоит валюта рубли И сумма переведённая из рублей в евро меньше 50) ИЛИ (стоит валюта евро И сумма в евро меньше 50), ТО выводим "Сумма ниже минимальной" ИНАЧЕ выводим кнопку.
Надеюсь достаточно понятно разьяснил.
Alexej, 15.12.2014, 15:52
Добавлю что если удалить товар внутри корзины, то функция не сработает, нужно обновить страницу.
Uriy79, 16.02.2016, 22:43
Действительно, если часть товара удалить из корзины, то функция минимального заказа не сработает и покупатель сможет заказать товар который стоит меньше минимальной цены!
Uriy79, 16.02.2016, 22:49
Вопрос! Как сделать перезагрузку блока корзины после изменения количества товара или удаления товара внутри корзины?!

Оставить комментарий