Автор Тема: Проблема с вычислением скидки  (Прочитано 1147 раз)

02 Март 2016, 16:17:48
Ответ #15
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
02 Март 2016, 16:20:50
Ответ #16
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
по поводу процентов, может в файле Discount.php что-то поменять
02 Март 2016, 16:23:40
Ответ #17
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
по поводу процентов, может в файле Discount.php что-то поменять
Только если хотите изменить расчет скидки на весь заказ, а не на товары.
02 Март 2016, 16:29:52
Ответ #18
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
 :-[ а как же поменять именно формулу по которой высчитывается процент?
02 Март 2016, 16:40:07
Ответ #19
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Все уже написано где менять. Осталось только сменить, это самому нужно делать. Там много расчетов прайса, например для скидки для группы
// Group reduction
if ($use_group_reduction) {
заменить
$price -= $group_reduction;на нужную формулу и т.д.
02 Март 2016, 16:56:02
Ответ #20
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
подскажите пожалуйста где здесь формула?
02 Март 2016, 19:03:35
Ответ #21
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всё перепробовал, формула вычисления не меняется. Есть ещё идеи?
03 Март 2016, 00:23:32
Ответ #22
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ребята, неужели никто не знает как поменять формулу спец цены (%) ?
03 Март 2016, 11:54:54
Ответ #23
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Менять алгоритм вычисления скидки ни кому не нужно. Он представлен верно, скидка 30%, значит Цена - 30%.
У вас получается новый тип скидки, для создания новых типов существует модуль Prestashop Specific Price Pro, стоит этот модуль 174$. Купите, установите и создавайте новые правила ценообразования.
Если хотите сделать без модуля, то где менять расчет цены вам уже написали: /classes/Product.php - function priceCalculation.
Измение формулы расчета производится для товара, атрибутов, групповых скидок.
03 Март 2016, 12:48:07
Ответ #24
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я понимаю что в престе считает как на калькуляторе, но наши "дебилы" в бухгалтерии чтобы посчитать скидку в 30% делят сумму на 1,3
03 Март 2016, 13:13:27
Ответ #25
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Скидка при создании сохраняется в AdminProductsController.php как
$specific_price->reduction = (float)($reduction_types[$key] == 'percentage' ? ($reductions[$key] / 100) : $reductions[$key]);т.е. твои 30% сохранятся как "0,30".

Я же писал где менять расчет. По группе написал, не так трудно поменять для остального.
Для одного товара в
// Reduction
$specific_price_reduction = 0;
if (($only_reduc || $use_reduc) && $specific_price) {
    ....
        $specific_price_reduction = $price * $specific_price['reduction']; // вот тут расчет 100руб * 0,30 (сохраненная скидка) = 30 руб.
    }
}

if ($use_reduc) {
    $price -= $specific_price_reduction; // вот тут окончательная цена 100руб - 30 руб = 70руб.
}
03 Март 2016, 13:52:23
Ответ #26
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
может я что-то не понимаю, но для эксперимента я меняю / на * и наоборот, ничего непроисходит
03 Март 2016, 14:07:30
Ответ #27
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
03 Март 2016, 14:10:54
Ответ #28
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Зачем все копировать? Точнее в каком месте?
03 Март 2016, 14:11:53
Ответ #29
  • Новичок
  • *
  • Сообщений: 47
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
там где / меняю на * , а где * меняю на /