Бесплатная доставка Magento рассчитывается на общую сумму

Используя стандартные тарифы таблицы доставки magento или матричные тарифы webshopapps, я обнаружил, что бесплатная доставка рассчитывается на основе промежуточной суммы без налога, а не общей суммы (промежуточная сумма + налог). Конечно, я хотел бы установить бесплатную доставку в зависимости от общей суммы. Я обнаружил, что можно взломать основной код:

app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php

Изменена строка 60:

|| ($request->getPackageValueWithDiscount() >= $this->getConfigData(’free_shipping_subtotal’))

to

|| ($request->getBaseSubtotalInclTax() >= $this->getConfigData(’free_shipping_subtotal’))

Это действительно единственный способ? Естественно, если это так, я бы создал «копию» этого класса, чтобы переопределить этот метод, сохранив его от будущих основных изменений.


person user2270248    schedule 12.04.2013    source источник
comment
Поправьте меня, но GrandTotal это промежуточный итог + доставка? это не имеет смысла для меня   -  person Fabian Blechschmidt    schedule 12.04.2013
comment
Итого Гран = промежуточный итог + налог; Я не был так ясен, вы правы. В любом случае, я обновил ответ.   -  person user2270248    schedule 12.04.2013


Ответы (2)


Я установил бесплатную доставку в разделе «Рекламные акции» > «Правила ценообразования в корзине», и это работает для меня.

person SPRBRN    schedule 17.04.2013
comment
Это отлично работает, для меня тоже. Можно даже ограничить правило конкретными странами! Спасибо за подсказку. - person naitsirch; 17.10.2016

Изменена строка 60: FROM вместо TO в предыдущем посте

|| ($request->getPackageValueWithDiscount() >= $this->getConfigData(’free_shipping_subtotal’))

(ОТ)

|| ($request->getBaseSubtotalInclTax() >= $this->getConfigData(’free_shipping_subtotal’))

Это действительно единственный способ? Естественно, если это так, я бы создал «копию» этого класса, чтобы переопределить этот метод, сохранив его от будущих основных изменений.

person Ope Yemi    schedule 04.01.2015