magento 修改order的状态方法

来源:互联网 发布:mac怎么同步铃声 编辑:程序博客网 时间:2024/06/05 01:02

magento order 共有如下几个状态

    /**
     * Order states
     */
    const STATE_NEW             = 'new';
    const STATE_PENDING_PAYMENT = 'pending_payment';
    const STATE_PROCESSING      = 'processing';
    const STATE_COMPLETE        = 'complete';
    const STATE_CLOSED          = 'closed';
    const STATE_CANCELED        = 'canceled';
    const STATE_HOLDED          = 'holded';
    const STATE_PAYMENT_REVIEW  = 'payment_review';

 

 
$orderIncrementId = YOUR_ORDER_INCREMENT_ID;$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);

Now, here is the code to change order status:-

/** * change order status to 'Completed' */$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();

Similarly, you can change the order status to pending, processing, canceled, closed, holded, etc.

/** * change order status to 'Pending' */$order->setState(Mage_Sales_Model_Order::STATE_NEW, true)->save();/** * change order status to 'Pending Paypal' */$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true)->save();/** * change order status to 'Processing' */$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save();/** * change order status to 'Completed' */$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();/** * change order status to 'Closed' */$order->setState(Mage_Sales_Model_Order::STATE_CLOSED, true)->save();/** * change order status to 'Canceled' */$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, true)->save();/** * change order status to 'Holded' */$order->setState(Mage_Sales_Model_Order::STATE_HOLDED, true)->save();

You can also cancel an order in the following way:-

if($order->canCancel()) {$order->cancel()->save();}

Hold an order:-

if($order->canHold()) {$order->hold()->save();}

Unhold an order:-

if($order->canUnhold()) {$order->unhold()->save();}

Hope this helps. Thanks.

原创粉丝点击