我目前正在创建一个模块,要求我获取一个订单对象并使其自行重新排序.因此,在后端创建一个具有完全相同的项目和凭据的新订单.
这是我到目前为止的代码...它似乎没有重新排序项目或创建和添加另一个后端订单.
$personsOrder = Mage::getModel(’sales/order’);
$personsOrder->loadByIncrementId($order[’model_order_id’]);
$order_model = Mage::getSingleton(’adminhtml/sales_order_create’);
$personsOrder->setReordered(true);
$order_model->initFromOrder($personsOrder);
/*
$order_model->save();
$order_model->place();
$order_model->sendNewOrderEmail();
*/
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!!
小智 7
$orderId= $YOUR_ORDER_NUMBER;
$personsOrder = Mage::getModel('sales/order')->load($orderId);
$order_model = Mage::getSingleton('adminhtml/sales_order_create');
$personsOrder->setReordered(true);
$order_model->initFromOrder($personsOrder);
$order_model->createOrder();
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是你应该使用$order->getIncrementId()on line 2 而不是$order['model_order_id'],但我不确定你$order首先从哪里得到。您是否检查过$order['model_order_id']实际上返回了有效的增量 ID?我在任何地方都没有看到model_order_id数据库中的字段......
我建议您让 IDE 和 XDebug 正常工作,以便您可以在使用对象时检查它们并了解发生了什么。
干杯,JD