我通过以下代码更改了订单状态。
/** Change the order status **/
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
// Set user admin session
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
const STATE_PROCESSING = 'closed';
echo $order_status = 'cancelled';
echo "<br/>";
echo $orderId=10000007;
echo "<br/>";
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
//$order->setState($order_status, true);
//$order->setState(constant($order_status), true);
$order->setData('state', $order_status);
$order->setStatus($order_status);
$order->save();
订单统计信息已成功更改,但当我访问查看订单页面时,评论历史记录部分的状态下拉列表为空白。 之前它显示的状态如pending,compelete,processing等。
答案 0 :(得分:1)
//Status Updated start here
require_once 'app/Mage.php';
$orderId=10000007;
umask(0);
Mage::app('default');
/*
##Magento Status List
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';
*/
$order = Mage::getModel('sales/order')->loadByIncrementID($orderId);
$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, true);
$order->save();
答案 1 :(得分:0)
感谢您的建议。在我的情况下,我发现有一个名为自定义订单状态的插件已安装,因此当我设置状态时,我突出显示的下拉列表显示没有选项。
最后,我使用SOAP API获得了解决方案。