trainracing Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 (изменено) Долго и упорно думал как сделать одну вещь, и наконец то сделал.Уверен что сразу сделает платный аналог kors, т.к. вещь очень полезна многим. Суть - мод показывает сколько осталось до бесплатной доставки .Модуль показывает сообщение только если положили товар например больше 45тыс руб но меньше 60,а после 60тыс выводится "доставка бесплатно" рассчет остатка на ajax, без перезагрузки. выложу полный дефолт, без стилей, для стандартного шаблона в файле 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 Изменено 22 июля, 2015 пользователем trainracing Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 лучше брать сумму из настроек откуда-то. потому что придется в друх местах менять это все. в коде и в настройках доставки для корзины Цитата Ссылка на сообщение Поделиться на другие сайты
trainracing Опубликовано 22 июля, 2015 Автор Жалоба Поделиться Опубликовано 22 июля, 2015 (изменено) лучше брать сумму из настроек откуда-то. потому что придется в друх местах менять это все. в коде и в настройках доставки для корзины Ну проще в 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} Если знаешь что получше - дай идею Изменено 22 июля, 2015 пользователем trainracing Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 Ну проще в 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 Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 Долго и упорно думал как сделать одну вещь, и наконец то сделал.Уверен что сразу сделает платный аналог kors, т.к. вещь очень полезна многим.В таком виде вещь не слишком полезна."Вещь" Ваша - примерно как красивый, но пустой фантик, без конфетки. Вы ведь изменили только информер. А надо ведь менять и реальный расчет цены. И тут возникают уже разные вопросы и ограничения, про которые Вам говорил mishanya. К его замечаниям добавлю еще: а если покупатель планирует самовывоз - для чего ему все это? Сбить его с толку, чтоб засомневался и ушел к конкурирующему магазину? В целом - изобретаете велосипед даже не кривой, а нерабочий. Kors-у было бы стыдно делать аналог такому... Он, если возьмется, как минимум ПРОДУМАЕТ сначала хотя бы простейшие моменты. И уж сделает без кучи ляпов, бросающихся в глаза. А если какой недостаток выплывет, то нашедшего поблагодарит и быстренько исправит... Цитата Ссылка на сообщение Поделиться на другие сайты
dimon1974 Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 (изменено) {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} Изменено 22 июля, 2015 пользователем dimon1974 Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 {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} дело в том что у автора вообще не учитывается стоимость доставки, той которая задается в админке, о чем я и писал выше. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.