Magento: таблица ставок по весу, редактировать расчет - PullRequest
2 голосов
/ 10 июня 2011

Благодаря Джозефу Масти Мне удалось создать модуль для Magento, который рассчитывал доставку по самому тяжелому предмету, а не по общему весу корзины.

Используя это:

class MyNamespace_MyModule_Model_Shipping extends Mage_Shipping_Model_Shipping {

    public function collectRates(Mage_Shipping_Model_Rate_Request $request) {
        $maxWeight = 0;
        foreach($request->getAllItems() as $item) {
            $maxWeight = max($maxWeight, $item->getRowWeight());
        }
        $request->setPackageWeight($maxWeight);

        return parent::collectRates($request);
    }
}

Однако теперь он перестал работать и вернулся к расчету доставки на основе общего веса. Я не запускал никаких обновлений, и мне было интересно, если кто-нибудь знает, почему эта функция больше не работает? Любые идеи будут с благодарностью.

1 Ответ

1 голос
/ 14 июня 2011

Я только что сам решил это на самом деле.Нашел несколько строк в дополнении Matrixrate от Webshopapps, которое переопределяло мои расчеты взломанного веса.А именно: $ request-> setPackageWeight ($ request-> getFreeMethodWeight ());Я закомментировал это, не идеальное решение, которое я знаю, но оно восстановило мои расчеты желаемого веса.

...