2

感谢Joseph Mastey,我能够为 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);
    }
}

然而,现在它已经停止工作,它又回到了根据总重量计算运费的问题上。我没有运行任何更新,并且想知道是否有人知道为什么此功能不再起作用?任何想法将不胜感激。

4

1 回答 1

1

实际上,我自己刚刚解决了这个问题。在 Webshopapps 的 Matrixrate 插件中发现了一些行,这些行覆盖了我被黑的重量计算。即:$request->setPackageWeight($request->getFreeMethodWeight()); 我已经对此进行了评论,这不是我所知道的完美解决方案,但它恢复了我想要的重量计算。

于 2011-06-14T10:22:07.237 回答