Magento - создайте минимальную стоимость доставки - PullRequest
2 голосов
/ 06 октября 2010

Мы используем USPS API для международных перевозок.API возвращает стоимость доставки, и мы добавляем% комиссии за обработку.Мы хотим установить минимальную плату, например, если стоимость доставки + обработки меньше 5 долларов США, мы хотим установить цену доставки 5 долларов США.Для этого потребуется написать полный модуль доставки или просто адаптировать модуль USPS?

1 Ответ

1 голос
/ 06 октября 2010

Вы можете сделать это, переопределив только часть модуля USPS.Метод, который применяет обработку, находится в Mage_Shipping_Model_Carrier_Abstract:

public function getFinalPriceWithHandlingFee($cost) 

Чтобы переопределить этот метод для США, создайте новое переопределение модели на Mage_Usa_Model_Shipping_Carrier_Usps (см. В другом месте, как настроить это переопределение):

class Namespace_Module_Model_Shipping_Carrier_Usps extends Mage_Usa_Model_Shipping_Carrier_Usps {

    function getFinalPriceWithHandlingFee($cost) {
        $parentValue = parent::getFinalPriceWithHandlingFee($cost);
        return max($parentValue,5);
    }
}

Будет реализован «этаж» для цен доставки.Имейте в виду, что в некоторых случаях это может привести к результатам, которые пользователи считают странными.Для надуманного примера:

  • Первый класс - $ 5,00
  • Медиа-почта - $ 5,00
  • Приоритетная почта - $ 5,33

Держите это надписью ипусть они знают, что вы делаете это.

Надеюсь, это поможет!

Спасибо, Джо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...