在Magento 1.5.1.0中设置订单状态和添加自定义承运商

在Magento 1.5.1.0中设置订单状态和添加自定义承运商,magento,Magento,我正在尝试创建订单,并在下订单时为该订单指定装运编号。但我看到,当我创建发票并添加装运时,magento会自动将订单状态设置为“完成”。我试图手动更改状态,但不起作用 $order = Mage::getModel('sales/order'); $order->loadByIncrementId($orderId); $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING,

我正在尝试创建订单,并在下订单时为该订单指定装运编号。但我看到,当我创建发票并添加装运时,magento会自动将订单状态设置为“完成”。我试图手动更改状态,但不起作用

$order = Mage::getModel('sales/order');
            $order->loadByIncrementId($orderId);
            $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
            $order->save();
有人能建议我怎么克服这个吗? 另外,我如何添加自定义承运人?默认的是DHL、联邦快递、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);
        }

对于承运商和标题,如果我提供一个自定义名称,我会在报告中得到一个错误-无效承运商。我该怎么办?谢谢。

您可以使用添加状态到历史记录功能。这也用于添加注释

$order->addStatusToHistory('processing', 'Order is being processed', false);
  • 参数1(字符串):新状态
  • 参数2(字符串):您的评论
  • 参数3(布尔值):如果要向客户发送电子邮件通知

您的意思是制造吗?目前我不希望有定制的运输模块。我使用表费率方法作为装运模块。但是我需要添加一个本地承运人,这样我就可以为一批货物添加一个跟踪号。运营商唯一的选择是DHL、FEDEX、UPS和USPS。我是否需要创建自定义装运模块以添加自定义承运人?谢谢