【发布时间】:2011-06-10 13:13:28
【问题描述】:
感谢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);
}
}
但是,现在它已停止工作,它又恢复了根据总重量计算运费。我没有运行任何更新,并且想知道是否有人知道为什么此功能不再起作用?任何想法将不胜感激。
【问题讨论】:
-
还有其他人可以访问您的 magento 管理面板吗?
-
感谢您的帮助。我刚刚解决了这个问题。在 Webshopapps 的 Matrixrate 插件中发现了一些行,这些行覆盖了我被黑的重量计算。即:$request->setPackageWeight($request->getFreeMethodWeight());我已经对此发表了评论,这不是我所知道的完美解决方案,但它恢复了我想要的重量计算。耶!
-
没关系,您只需自己发表评论作为答案并接受即可。
-
愚蠢的问题,我该如何回答我自己的问题?
-
在这个问题页面上,如果你向下滚动一点,你会看到一个文本框“你的答案”。在那里你写下你的答案,并且接受它也是如此。