Jump to content

Recommended Posts

Долго и упорно думал как сделать одну вещь, и наконец то сделал.

Уверен что сразу сделает платный аналог kors, т.к. вещь очень полезна многим.

 

Суть - мод показывает сколько осталось до бесплатной доставки .

Модуль показывает сообщение только если положили товар например больше 45тыс руб но меньше 60,

а после 60тыс выводится "доставка бесплатно" 

рассчет остатка на ajax, без перезагрузки.

 

выложу полный дефолт, без стилей, для стандартного шаблона

azAXuG5R8wY.jpg

 

 

oXMDLmVcHcQ.jpg

 

в файле cart_informer.tpl заменить все на :

{* Информер корзины *}

{if $cart->total_products>0}
	В <a href="./cart/">корзине</a>
	{$cart->total_products} {$cart->total_products|plural:'товар':'товаров':'товара'}
	на {$cart->total_price|convert} {$currency->sign|escape}

{if ($cart->total_price > 45000) and ($cart->total_price < 60000)}
  <div style="margin: 6px 0px 6px;">
  
До бесплатной доставки осталось <b> {(60000-{$cart->total_price})} {$currency->sign} </b> 
</div>
 	{else}
{if $cart->total_price > 60000} <div style="margin: 6px 0px 6px;"><b> Доставка бесплатно!</b></div>{/if}
    {/if}


{else}
	Корзина пуста
{/if}

45000 - сумма от которой выводим блок

60000 - сумма от которой доставка бесплатна

 

пример - clim-shop.ru

Edited by trainracing
Link to post
Share on other sites

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

Link to post
Share on other sites

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

 

Ну проще в cart.tpl примерно 111 строка добавить


{if ($cart->total_price > 45000) and ($cart->total_price < 60000)}
  <div style="margin: 6px 0px 6px;">
  
До бесплатной доставки осталось <b> {(60000-{$cart->total_price})} {$currency->sign} </b> 
</div>
 	{else}
{if $cart->total_price > 60000} <div style="margin: 6px 0px 6px;"><b> Доставка бесплатно!</b></div>{/if}
    {/if}

Если знаешь что получше - дай идею

Edited by trainracing
Link to post
Share on other sites

Ну проще в cart.tpl примерно 111 строка добавить


{if ($cart->total_price > 45000) and ($cart->total_price < 60000)}
  <div style="margin: 6px 0px 6px;">
  
До бесплатной доставки осталось <b> {(60000-{$cart->total_price})} {$currency->sign} </b> 
</div>
 	{else}
{if $cart->total_price > 60000} <div style="margin: 6px 0px 6px;"><b> Доставка бесплатно!</b></div>{/if}
    {/if}

Если знаешь что получше - дай идею

 

я о том что виды доставки настраиваются в админке. и что делать если у доставки 1 и доставки 2 разные цены и разные пороги до бесплатной доставки? и сами числа лучше брать переменными из настроек, например $settings->delivery_free и тд. ваш хак подойдет если доставка одна (тогда можно цену до бесплатной доставки брать прямо из этой доставки), либо если у всех доставок одна цена, после которой доставка бесплатна

Link to post
Share on other sites

Долго и упорно думал как сделать одну вещь, и наконец то сделал.

Уверен что сразу сделает платный аналог kors, т.к. вещь очень полезна многим.

В таком виде вещь не слишком полезна.

"Вещь" Ваша - примерно как красивый, но пустой фантик, без конфетки. Вы ведь изменили только информер. А надо ведь менять и реальный расчет цены. И тут возникают уже разные вопросы и ограничения, про которые Вам говорил mishanya.

 

К его замечаниям добавлю еще: а если покупатель планирует самовывоз - для чего ему все это? Сбить его с толку, чтоб засомневался и ушел к конкурирующему магазину?

 

В целом - изобретаете велосипед даже не кривой, а нерабочий.

 

Kors-у было бы стыдно делать аналог такому... Он, если возьмется, как минимум ПРОДУМАЕТ сначала хотя бы простейшие моменты. И уж сделает без кучи ляпов, бросающихся в глаза. А если какой недостаток выплывет, то нашедшего поблагодарит и быстренько исправит...

Link to post
Share on other sites

{if $cart->total_price < $delivery->free_from && $delivery->price>0}
({$delivery->price|convert} {$currency->sign})


не хватает{($delivery->free_from - $cart->total_price)|convert} {$currency->sign} чтобы доставка стала бесплатной


{elseif $cart->total_price >= $delivery->free_from}

Edited by dimon1974
Link to post
Share on other sites

{if $cart->total_price < $delivery->free_from && $delivery->price>0}

({$delivery->price|convert} {$currency->sign})

 

не хватает{($delivery->free_from - $cart->total_price)|convert} {$currency->sign} чтобы доставка стала бесплатной

 

{elseif $cart->total_price >= $delivery->free_from}

 

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

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...