Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 [ХАК] Общие скидки
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


18-06-2009 00:33
Хак общие скидки - скидка считается от общей суммы, можно заложить любые параметры скидок.



Сообщение отредактировано Алекс 26-01-2010 16:59 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
dervish


Новичок
Сообщений: 72
Откуда: Львів
Регистрация: 31-10-2009


12-01-2010 15:40
Имеется ввиду общие скидки на все товары или как?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


12-01-2010 17:09
Да, вродебы. Если понадобится стукните поищу.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


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();

:drinks:
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
dervish


Новичок
Сообщений: 72
Откуда: Львів
Регистрация: 31-10-2009


26-01-2010 18:08
Большое спасибо. Буду тестить.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
антон
Профессионал
Сообщений: 437
Откуда: Санкт-Петербург
Регистрация: 05-12-2009


27-01-2010 03:13
О.К. Спасибо, все работает.
 



Интернет-магазин товаров для йоги yogastuff.ru.
Шаблоны на престу - демо
Ещё один магазин йоги namaskar108.ru
Йога в Москве yogadog.ru
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
chestor
Новичок
Сообщений: 25
Регистрация: 08-02-2010


17-02-2010 20:36
А подскажите где настройка параметров скидки?

$th1 = 1000;
$th2 = 5000;
$d1 = 10;
$d2 = 20;

$th от суммы?
$d1 - процент?

что к чему?


Сообщение отредактировано chestor 17-02-2010 16:40 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
chestor
Новичок
Сообщений: 25
Регистрация: 08-02-2010


17-02-2010 21:00
Ещё у меня появляется ошибка после изменения этой строчки return $order_total-$this->oDiscount();

в 635 строчке, если поменять обратно, то работает, но естественно без скидок.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ssmobile
Новичок
Сообщений: 1
Регистрация: 11-04-2010


12-04-2010 16:22
У вас есть этот модуль рабочий ?


Сообщение отредактировано ssmobile 12-04-2010 17:22 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Valaykhal
Новичок
Сообщений: 1
Регистрация: 19-08-2010


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();

:drinks:

В новой версии 1.3.1.1 не работает такой способ, а скиду от суммы заказа оч надо. Подскажите как решить?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >