Magento - программно изменить порядок - PullRequest
7 голосов
/ 18 августа 2010

В настоящее время я делаю модуль, который требует, чтобы я взял объект заказа и заставил его переупорядочить себя ... таким образом, создавая новый порядок в бэкэнде с точно такими же элементами и учетными данными.

Этокод, который у меня есть до сих пор ... кажется, что он не переупорядочивает элемент или не создает и не добавляет еще один внутренний порядок.

$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();
*/

Любая помощь очень ценится!

Ответы [ 3 ]

7 голосов
/ 19 августа 2011
$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();
3 голосов
/ 19 августа 2010

Моя первая мысль: вам следует использовать $order->getIncrementId() в строке 2, а не $order['model_order_id'], но я не уверен, откуда вы берете $order. Вы проверили, что $order['model_order_id'] действительно возвращает действительный идентификатор приращения? Я не вижу model_order_id как поле в базе данных где-либо ...

Я хотел бы предложить, чтобы вы работали с IDE и XDebug, чтобы вы могли проверять объекты во время работы с ними и понимать, что происходит.

Ура, JD

1 голос
/ 30 января 2013

Если заказ, который вы разместили в первый раз, также создается с помощью кодирования, а не из магазина, вам необходимо убедиться, что вы добавили запись в таблицу sales_flat_quote_item. В противном случае этот порядок не может быть изменен. Поэтому убедитесь, что это не так при создании вашего заказа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...