Версия для печати
|
| PrestaShop CMS :: Русская поддержка интернет-магазина PrestaShop > Модули, плагины > [ХАК] Общие скидки |
| Разместил: Алекс Время: 18-06-2009 00:33 |
| Хак общие скидки - скидка считается от общей суммы, можно заложить любые параметры скидок.
Сообщение отредактировано Алекс 26-01-2010 16:59 ... |
| Разместил: dervish Время: 12-01-2010 15:40 |
| Имеется ввиду общие скидки на все товары или как? |
| Разместил: Алекс Время: 12-01-2010 17:09 |
| Да, вродебы. Если понадобится стукните поищу. |
| Разместил: Алекс Время: 26-01-2010 15:58 |
| Хак "Общие скидки"
Открываем clases/cart.php и в самом конце пишем: Код: function oTotal()
{ $products = $this->getProducts(); foreach ($products AS $product) { $price = floatval(Product::getPriceStatic(intval($product['id_product']), $withTaxes, intval($product['id_product_attribute']), 6, NULL, false, true, $product['quantity'])); $total_price = $price * intval($product['quantity']); $order_total += $total_price; } return intval($order_total); } function oDiscount() { # параметры $th1 = 1000; $th2 = 5000; $d1 = 10; $d2 = 20; if ($this->oTotal() >= $th1 and $this->oTotal() < $th2) {$discounts = $d1;} if ($this->oTotal() >= $th2) {$discounts = $d2;} return $discounts; } в функции function getOrderTotal меняем Код: return floatval($order_total);
на Код: return $order_total-$this->oDiscount();
![]() |
| Разместил: dervish Время: 26-01-2010 18:08 |
| Большое спасибо. Буду тестить. |
| Разместил: антон Время: 27-01-2010 03:13 |
| О.К. Спасибо, все работает. |
| Разместил: chestor Время: 17-02-2010 20:36 |
| А подскажите где настройка параметров скидки?
$th1 = 1000; $th2 = 5000; $d1 = 10; $d2 = 20; $th от суммы? $d1 - процент? что к чему? Сообщение отредактировано chestor 17-02-2010 16:40 ... |
| Разместил: chestor Время: 17-02-2010 21:00 |
| Ещё у меня появляется ошибка после изменения этой строчки return $order_total-$this->oDiscount();
в 635 строчке, если поменять обратно, то работает, но естественно без скидок. |
| Разместил: ssmobile Время: 12-04-2010 16:22 |
| У вас есть этот модуль рабочий ? Сообщение отредактировано ssmobile 12-04-2010 17:22 ... |
| Разместил: Valaykhal Время: 19-08-2010 04:35 |
Цитата:( Алекс @ 26-01-2010 11:58 Смотреть сообщение ) Хак "Общие скидки"
Открываем clases/cart.php и в самом конце пишем: Код: function oTotal()
{ $products = $this->getProducts(); foreach ($products AS $product) { $price = floatval(Product::getPriceStatic(intval($product['id_product']), $withTaxes, intval($product['id_product_attribute']), 6, NULL, false, true, $product['quantity'])); $total_price = $price * intval($product['quantity']); $order_total += $total_price; } return intval($order_total); } function oDiscount() { # параметры $th1 = 1000; $th2 = 5000; $d1 = 10; $d2 = 20; if ($this->oTotal() >= $th1 and $this->oTotal() < $th2) {$discounts = $d1;} if ($this->oTotal() >= $th2) {$discounts = $d2;} return $discounts; } в функции function getOrderTotal меняем Код: return floatval($order_total);
на Код: return $order_total-$this->oDiscount();
![]() В новой версии 1.3.1.1 не работает такой способ, а скиду от суммы заказа оч надо. Подскажите как решить? |
| Разместил: Striatum Время: 24-08-2010 18:10 |
| Захотелось воспользоваться этим хаком, версия престы 1.5, но появилась проблема как у chestor: в функции function getOrderTotal меняем Код: return floatval($order_total); на Код: return $order_total-$this->oDiscount(); и появляется ошибка и корзина не работает. Подскажите, из-за чего так? Антон, ты писал, что у тебя работает, подскажи как надо |
| Разместил: Striatum Время: 26-08-2010 01:33 |
| То есть моя версия престы 1.2.5 конечно.
Пожалуйста, подскажите, из-за чего может быть ошибка |
| Разместил: kvazi Время: 16-09-2010 19:57 |
| аналогично, не пашет
|
| Разместил: picaso Время: 04-10-2010 02:41 |
| Ни кто так и не разобрался? Тоже очень надо. |
| Разместил: DStalker Время: 14-03-2011 23:13 |
| Тут всё просто. строку: $total_price = $price * intval($product['quantity']); заменить на: $total_price = $price * intval($product['cart_quantity']); |
| Разместил: DStalker Время: 14-03-2011 23:13 |
| и показывает теперь
... Итого купонов: -xxx руб. Сообщение было отредактировано DStalker в 14-03-2011 23:16 ... |
| Разместил: senior426 Время: 18-11-2011 17:43 |
| Кто знает как использовать этот хак в престе 1.4 ? Сообщение отредактировано senior426 18-11-2011 12:44 ... |
| Разместил: gabder Время: 22-02-2012 20:18 |
| как решить в версии 1.4 там нет функции return floatval($order_total); только есть return intval($order_total); |