同样的问题在这里。
它解决我的问题(https://www.facebook.com/scandiweb/posts/788413034530650):
It's在Magento一个有趣的限制。即 - 创建新的运输方式时,不要在运输方式或方法代码中使用下划线。代码中的下划线有可能破坏使用此方法的任何代码 - Mage_Sales_Model_Order::getShippingMethod
。作为一个例子,我发现自己 - 我在某些运输方式的出口订单中缺少运输公司。如果现场发生这种情况,一点都不酷。 原因在于这里Mage_Sales_Model_Order::getShippingMethod
public function getShippingMethod($asObject = false)
{
$shippingMethod = parent::getShippingMethod();
if (!$asObject) {
return $shippingMethod;
} else {
list($carrierCode, $method) = explode('_', $shippingMethod, 2);
return new Varien_Object(array(
'carrier_code' => $carrierCode,
'method' => $method
));
}
}
通知的爆炸函数调用。它需要字符串,看起来像'carriercode_methodcode',并通过下划线拆分成部分。但是如果在'carrier_code_method_code'中有一些额外的下划线,它会得到错误的代码,并且例如getShippingCarrier()
将无法返回在订购时使用的运营商。