Ogybil Опубликовано 6 ноября, 2012 Жалоба Поделиться Опубликовано 6 ноября, 2012 Искал-искал, спрашивал-спрашивал, но не нашел и не подсказали, пришлось сочинять:Файл api/cart.php:вместо // Пользовательская скидка $cart->discount = 0; if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id']))) $cart->discount = $user->discount; $cart->total_price *= (100-$cart->discount)/100; вставляем // Начальная пользовательская скидка (клиент сразу получает скидку) $cart->discount = 0; // Скидки от суммы заказа (вставляем суммы и скидки) if($cart->total_price>0)//если сумма заказа больше 1000 денег $cart->discount = 5;//скидка 5% if($cart->total_price>1000) $cart->discount = 10; if($cart->total_price>3000) $cart->discount = 15; if($cart->total_price>5000) $cart->discount = 20; if($cart->total_price>8000) $cart->discount = 25; // Если зарегистрированный пользователь if(isset($_SESSION['user_id']) && $user = $this->users->get_user(intval($_SESSION['user_id']))) // Выбираем большую скидку if ($user->discount>$cart->discount) $cart->discount = $user->discount; // Результат $cart->total_price *= (100-$cart->discount)/100; Файл cart.tpl:там где надо вывести скидку {if $user->discount OR $cart->discount} <tr> <th class=""></th> <th class=""></th> <th colspan="2" class="cart-amount">{if $cart->discount>$user->discount}Cкидка от суммы заказа{else}Персональная скидка{/if}:</th> <th class="price-cart-amount">{$cart->discount} %</th> <th class=""></th> </tr> {/if} Вроде работает, корзина считает.Может кто посмотрит и доточит, может кому-то пригодится. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 6 ноября, 2012 Жалоба Поделиться Опубликовано 6 ноября, 2012 Да, вполне разумное решение. Если его немного доработать, можно вывести в админку, в раздел Настройки. Цитата Ссылка на сообщение Поделиться на другие сайты
Mariik Опубликовано 6 ноября, 2012 Жалоба Поделиться Опубликовано 6 ноября, 2012 Идея приятная, но реализация топорная. А ели надо будет изменить сумму, от которой идет скидка? каждый раз будете код править? Как минимум надо реализовать хранение в базе и настройку через админку. Если будет интересно, могу показать как это реализовать. Цитата Ссылка на сообщение Поделиться на другие сайты
Ogybil Опубликовано 6 ноября, 2012 Автор Жалоба Поделиться Опубликовано 6 ноября, 2012 Давайте, как это встроить в админку, очень интересно!!! Цитата Ссылка на сообщение Поделиться на другие сайты
Ogybil Опубликовано 6 ноября, 2012 Автор Жалоба Поделиться Опубликовано 6 ноября, 2012 Система скидок одно из слабых мест Симплы и если она будет реализована минимально, система будет веселее Цитата Ссылка на сообщение Поделиться на другие сайты
HotHeadMan Опубликовано 7 ноября, 2012 Жалоба Поделиться Опубликовано 7 ноября, 2012 Ogybil, ты гений! Спасибо за труд — очень полезное дополнение. Цитата Ссылка на сообщение Поделиться на другие сайты
AndryFroggy Опубликовано 7 ноября, 2012 Жалоба Поделиться Опубликовано 7 ноября, 2012 Косяк прав, это все делается на бэкенде и настраивается без затрагивания шаблонов , вьюшек и классов в дальнейшем. Цитата Ссылка на сообщение Поделиться на другие сайты
Ogybil Опубликовано 7 ноября, 2012 Автор Жалоба Поделиться Опубликовано 7 ноября, 2012 Так никто и не спорит, только и помогать желающих нет 6( Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 7 ноября, 2012 Жалоба Поделиться Опубликовано 7 ноября, 2012 а я реализовывал это через группы, при заказе - добавление суммы заказа к пользователю, и от того на сколько заказал меняется группа, а в группах уже пределы "от" "до" стоят, и всё красиво работает Цитата Ссылка на сообщение Поделиться на другие сайты
Ogybil Опубликовано 7 ноября, 2012 Автор Жалоба Поделиться Опубликовано 7 ноября, 2012 Решение хорошее, выложи для общества Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 8 ноября, 2012 Жалоба Поделиться Опубликовано 8 ноября, 2012 Решение работает только в том случае если пользователи автоматически регистрируются при покупке, а это отдельное дополнение...Если будет хорошее настроение может и выложу, а пока только за денюжку Цитата Ссылка на сообщение Поделиться на другие сайты
HotHeadMan Опубликовано 8 ноября, 2012 Жалоба Поделиться Опубликовано 8 ноября, 2012 sheeft, какая цена при плохом настроении?) Цитата Ссылка на сообщение Поделиться на другие сайты
gunner Опубликовано 30 ноября, 2012 Жалоба Поделиться Опубликовано 30 ноября, 2012 А как вывести сумму ДО скидки еще?подозреваю, что надо подправить тут, но что и как...{$cart->total_price|convert} {$currency->sign} Цитата Ссылка на сообщение Поделиться на другие сайты
gunner Опубликовано 10 декабря, 2012 Жалоба Поделиться Опубликовано 10 декабря, 2012 никто не подскажет? Цитата Ссылка на сообщение Поделиться на другие сайты
Ogybil Опубликовано 11 декабря, 2012 Автор Жалоба Поделиться Опубликовано 11 декабря, 2012 Скорее всего надо:или приплюсовывать то что отняли, или вводить какую-нибудь cart->total_price1, которая будет отвечать только за это, наверное второе проще. Цитата Ссылка на сообщение Поделиться на другие сайты
RodgerFox Опубликовано 17 января, 2013 Жалоба Поделиться Опубликовано 17 января, 2013 А вы могли бы мне объяснить как встроить в админку что либо? я пытался понять, но это нереал для меня. я бы выложил парочку интересных решений. Сейчас они как бы работают с системой, хранятся, инициализируются, но нету графической настройки в админ панели их. Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 19 января, 2013 Жалоба Поделиться Опубликовано 19 января, 2013 SimplaDevподскажите пожалуйста, реализацию в админке? Цитата Ссылка на сообщение Поделиться на другие сайты
SimplaDev Опубликовано 19 января, 2013 Жалоба Поделиться Опубликовано 19 января, 2013 2 Danya: доработка система скидок - коммерческая, поэтому в паблике вылложить не могу. Кому требуется эта разработка - пишите в личку Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 19 января, 2013 Жалоба Поделиться Опубликовано 19 января, 2013 Ogybil А вывод суммы со скидками как выводили в оформленном заказе? Цитата Ссылка на сообщение Поделиться на другие сайты
Ogybil Опубликовано 19 января, 2013 Автор Жалоба Поделиться Опубликовано 19 января, 2013 Вывод суммы со скидками у меня сложный т.к. там есть и клиентская скидка и скидка от суммы заказа и выбирается большая и еще там реальная проблема с мультивалютностью потому-что я связывал валюту с доставкой.Вот код итога (насколько я помню, после того как поправили api там код вывода суммы со скидками не менялся, т.к. изменился механизм расчета):<tr> <td colspan="4" class="cart-amount-all">Итого:</td> <td class="price-cart-amount-all">{$cart->total_price|convert} {$currency->sign}</td> <td class=""></td> </tr> Но этот код мало даст, ведь все правки не в шаблоне. Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 20 января, 2013 Жалоба Поделиться Опубликовано 20 января, 2013 когда человек отправляет заказ уже со скидкой от суммы, его перекидывает на страницу выбора оплаты, вот на этой странице отображается та скидка, которая установленна в группе "персональная скидка", а не скидка от суммы заказа. так же нужно вывести скидку в заказе в админке и в письмо отправляемое клиенту и админу.файлы темы: order.tpl, email_order.tplфайлы темы админки: order.tpl, email_order_admin.tplк примеру в файле order.tpl темы скидка отображается так: {$order->discount} % Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 20 января, 2013 Жалоба Поделиться Опубликовано 20 января, 2013 в файле установил такие скидки:// Скидки от суммы заказа (вставляем суммы и скидки) if($cart->total_price>5000)//если сумма заказа больше 1000 рублей $cart->discount = 10;//скидка 10% if($cart->total_price>10000)//скидка 15% $cart->discount = 15;вот пример на сайте уже отправленного заказа:http://simplacms.16mb.com/order/ba937542732dd94dd641da20b3708ef9должно отображать 15% скидки и сумма с учётом скидкидобавьте товар в корзину и измените количество от 1-3 шт. товара, скидка будет менятьсяhttp://simplacms.16mb.com/products/nokia_c203 Цитата Ссылка на сообщение Поделиться на другие сайты
delprofile Опубликовано 20 января, 2013 Жалоба Поделиться Опубликовано 20 января, 2013 ну так у вас цену со скидкой считает только в корзине , далее вы переходите в order там тоже надо посчитать со скидкой чтобы нужную сумму требовать к оплате Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 29 января, 2013 Жалоба Поделиться Опубликовано 29 января, 2013 ребята, помогите пожалуйста добавить код в файл api/orders.php Цитата Ссылка на сообщение Поделиться на другие сайты
Kulibbin Опубликовано 3 апреля, 2013 Жалоба Поделиться Опубликовано 3 апреля, 2013 Скидка на товар в зависимости от суммы покупки.Итого к оплате {if $cart->total_price>19999.99} {$cart->total_price*0.9} {elseif $cart->total_price>14999.99} {$cart->total_price*0.91} {elseif $cart->total_price>9999.99} {$cart->total_price*0.93} {elseif $cart->total_price>7999.99} {$cart->total_price*0.95} {elseif $cart->total_price>4999.99} {$cart->total_price*0.97} {else} {$cart->total_price} {/if} {$currency->sign}Какая скидка от какой суммы думаю разобрались Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.