Magento - 以编程方式重新排序

Dav*_*e C 7 php magento

我目前正在创建一个模块,要求我获取一个订单对象并使其自行重新排序.因此,在后端创建一个具有完全相同的项目和凭据的新订单.

这是我到目前为止的代码...它似乎没有重新排序项目或创建和添加另一个后端订单.

$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)


Jon*_*Day 3

我的第一个想法是你应该使用$order->getIncrementId()on line 2 而不是$order['model_order_id'],但我不确定你$order首先从哪里得到。您是否检查过$order['model_order_id']实际上返回了有效的增量 ID?我在任何地方都没有看到model_order_id数据库中的字段......

我建议您让 IDE 和 XDebug 正常工作,以便您可以在使用对象时检查它们并了解发生了什么。

干杯,JD