感谢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);
}
}
然而,现在,它已经停止工作,它又回到了根据总重量计算运费。我没有更新,并想知道是否有人知道为什么这个功能不再有效?任何想法都将不胜感激。
答案 0 :(得分:1)
我实际上已经解决了这个问题。在Webshopapps的Matrixrate插件中找到了一些覆盖我的黑客权重计算的行。即:$ request-> setPackageWeight($ request-> getFreeMethodWeight());我已经对此进行了评论,而不是我所知道的完美解决方案,但它已经恢复了我想要的体重计算。