我正在尝试创建订单并在下订单时为该订单分配运费。但我发现,当我创建发票并添加货件时,magento会自动将订单状态设置为“完成”。我试图手动更改状态但它不起作用。
$order = Mage::getModel('sales/order');
$order->loadByIncrementId($orderId);
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
$order->save();
有人可以建议我怎么过来这个? 另外,我如何添加自定义载体?默认的是DHL,FedEx,UPS ..我想添加一个类似的。这就是我的做法:
$carrier = "dhl";
$title = "DHL";
$trackNumber = '538099';
if (1) {
$itemsQty = $order->getItemsCollection()->count();
$shipment =Mage::getModel('sales/service_order',$order)->prepareShipment($itemsQty);
$shipment = new Mage_Sales_Model_Order_Shipment_Api();
$shipmentId = $shipment->create($orderId);
$shipment->addTrack($shipmentId,$carrier,$title,$trackNumber);
}
对于运营商和标题,如果我提供自定义名称,我会在报告中收到错误无效的运营商。我该怎么做?感谢。
答案 0 :(得分:1)
您可以使用 addStatusToHistory 功能。这也用于添加注释。
$order->addStatusToHistory('processing', 'Order is being processed', false);