Jump to content

Минимальная сумма заказа


Recommended Posts

В принципе, можно сделать, даже не трогая движок))
В шаблоне корзины делаем проверку по сумме заказа, если больше определенной суммы: выводим форму заказа, если нет, то надпись Извините...
Каждый, кому надо, может это сделать, и пихать в движок не вижу смысла

Link to post
Share on other sites

А по сути нужнее функция минимальная сумма для доставки курьером. Не всем хочется стоять в московской пробке за 300 руб. Поэтому лучше отключать функцию доставки курьером при сумме заказа меньше минимальной. Вот это важно!

Link to post
Share on other sites

И при чем здесь движок?? Зачем превращать Симплу в Имперу? Сделайте доставку курьером 5000 рублей, бесплатно с любой суммы, какая в голову взбредет...

Link to post
Share on other sites

Минимальная сумма заказа легко делается в шаблоне cart.tpl
перед {* Доставка *} вставляем {if $cart->total_price > 10000} где 10000 минимальная сумма заказа в основной валюте и перед < /form> вставляем

{else}<div class="message_error">Сумма заказа меньше минимальной</div>{/if}
Link to post
Share on other sites

Спасибо за комментарии. Kosjak76, к движку нет никаких претензий и менять там ничего не нужно. Я давно уже знаю, что делать можно практически все в шаблоне сайта. Симплу использую совсем недавно, сейчас разбираюсь с ней и параллельно работаю над своим интернет-магазином. Торговлей занимаюсь сам.

Link to post
Share on other sites
  • 2 weeks later...

Что ж вы пытаетесь изобрести велосипед с квадратными колесами!
Функция "минимальная сумма заказа" - это сторона движка. Закон!
Нельзя ее подменять javascript-ом или smarty-костылями. Иначе подставляете владельца магазина.
Назавтра он захочет продавать скажем флешку по 5 рублей при условии, что заказ сделан минимум на 10 тысяч. И будет уверен, что никто не сможет сделать заказ на 5 рублей. Зайдет ушлый покупатель, посмотрит на такую картину, сохранит страницу, уберет оттуда вашу проверку (или добавить недостающий submit, убранный в ходе проверки на этапе формирования шаблона), запостит форму заказа, и пойдет жаловаться во все инстанции - на каком основании магазин не хочет отдать флешку за 5 рублей, ведь заказ принят.

Link to post
Share on other sites
  • 4 months later...

нашел куда вставлять, но не работает ваш метод Кроха , не обновляется кол- во штук когда выбираешь и сумма даже когда выше минимальной все равно не могу оформить заказ

Link to post
Share on other sites
  • 1 year later...

Тут мало допилов шаблона, чтобы клиент не "проскочил" в заказ надо еще в файле CartView.php добавить проверку минимальной суммы - я бы вынес ее в параметр в настройках сайта, чтобы можно было быстро менять.

В CartView.php после всего вышесказанного про шаблон добавим после


    	elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))
    	{
    		$this->design->assign('error', 'captcha');
    	}

следующий код


    	elseif($cart->total_price < 2000)
    	{
    		$this->design->assign('error', 'minimal');
    	}

С последующим выводом в месте вывода ошибок...

Link to post
Share on other sites

Зайдет ушлый покупатель, посмотрит на такую картину, сохранит страницу, уберет оттуда вашу проверку (или добавить недостающий submit, убранный в ходе проверки на этапе формирования шаблона), запостит форму заказа, и пойдет жаловаться во все инстанции - на каком основании магазин не хочет отдать флешку за 5 рублей, ведь заказ принят.

Заказ считается принятым с момента подтверждения его по телефону или иным способом указанным продавцом, любой юрист скажет зачем на сайте всегда должна находиться надпись "Информация носит информационный характер. Не является публичной офертой.". Есть много спецов которые способны наши магазы заставить продавать все вообще бесплатно, но при любой вмешательстве в код - это уже взлом в той или иной форме, и инстанции могут такого человека только что закрыть лет так на *цать...

Link to post
Share on other sites

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

Link to post
Share on other sites
  • 11 months later...

Тут мало допилов шаблона, чтобы клиент не "проскочил" в заказ надо еще в файле CartView.php добавить проверку минимальной суммы - я бы вынес ее в параметр в настройках сайта, чтобы можно было быстро менять.

В CartView.php после всего вышесказанного про шаблон добавим после


    	elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))
    	{
    		$this->design->assign('error', 'captcha');
    	}

следующий код


    	elseif($cart->total_price < 2000)
    	{
    		$this->design->assign('error', 'minimal');
    	}

С последующим выводом в месте вывода ошибок...

 

На мой взгляд у Mart'a самое грамотное решение. Ушлый покупатель не пройдет точно) Я с такими покупателями сталкивался пару раз, от них как такового вреда не много, но время и нервы они способны отнять.

Link to post
Share on other sites
  • 11 months later...

 

Минимальная сумма заказа легко делается в шаблоне cart.tpl

перед {* Доставка *} вставляем {if $cart->total_price > 10000} где 10000 минимальная сумма заказа в основной валюте и перед < /form> вставляем

{else}
<div class="message_error">
Сумма заказа меньше минимальной
</div>
{/if}

Огромное вам спасибо!!!!!!!!

Link to post
Share on other sites
  • 1 month later...

Есть скрипт на сайте где в зависимости от введенного адреса по километрам считается сумма минимального заказа

 

Вопрос как ее использовать  в {if $cart->total_price > 10000}

 

Как сделать вмесо 10000  summa

 

Код

{literal}
 
<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
  
  <script type="text/javascript">	
		var myMap, route;
        function init () {
            myMap = new ymaps.Map("map", {
                    center: [58.0157, 56.2398],
                    zoom: 12,  
                } );
		 $("input").keyup(function () {                
			var start = $("#start").val();
			var end = "Пермь" + $("#end").val();			
            ymaps.route([start, end],
            {
	        mapStateAutoApply: true,
	        })
				.then(function (router) {	
							    
				route && myMap.geoObjects.remove(route);
				route = router;
                myMap.geoObjects.add(route);
                var km = route.getLength();
                var summa;
	            if (km<5000) { summa = '350'}
	            else if (km>5000,km<10000) { summa = '500'}
	            else if (km>10000,km<12000) { summa = '1000'}
	            else if (km>12000,km<15000) { summa = '1300'}
	            else if (km>15000,km<20000) { summa = '1500'}
	            ;
                 
                 
                 $("#resmarshrut").text(summa);
                 
            });
				return false;
			});
		 }		 
// Как только будет загружен API и готов DOM, выполняем инициализацию
        ymaps.ready(init);
    </script>
{/literal}

 

 

 

Link to post
Share on other sites

Есть скрипт на сайте где в зависимости от введенного адреса по километрам считается сумма минимального заказа

 

Вопрос как ее использовать  в {if $cart->total_price > 10000}

 

Использовать как обычно: {if $cart->total_price > $summa} .

А если Вам надо ответ не общий, а конкретный, то надо и вопрос задавать конкретно.

В частности, зависит  от того,

1. В каком файле это нужно делать,

2. Где, как, куда  переменная передается.

3. Подозреваю, что она у Вас вообще никуда не передается и/или не обрабатывается - тогда надо дополнительно выполнить работу, чтоб передавалась и обрабатывалась.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...