Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

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

Уверен что сразу сделает платный аналог 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

Изменено пользователем trainracing
Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

Ну проще в 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}

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

Изменено пользователем trainracing
Ссылка на сообщение
Поделиться на другие сайты

Ну проще в 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 и тд. ваш хак подойдет если доставка одна (тогда можно цену до бесплатной доставки брать прямо из этой доставки), либо если у всех доставок одна цена, после которой доставка бесплатна

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

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

 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

{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}

Изменено пользователем dimon1974
Ссылка на сообщение
Поделиться на другие сайты

{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}

 

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...