$orderId = 1;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
$order->setState("processing")->setStatus("processing");
$order->save();
Veuillez me dire comment je mets à jour l'état de ma commande dans Magento 2?
magento2
sales-order
magento-2.1.3
Rahul Katoch
la source
la source
Mise à jour de l'état de la commande
Pour mettre à jour l'état et l'état de la commande de manière programmatique afin de définir l'état et l'état dans ce format. Initiez l'objet order dans la fonction de construction et utilisez cet objet order dans la fonction personnalisée pour le mettre à jour. Pour mettre à jour l'état de la commande par programme dans le modèle, récupérez l'objet de commande à partir de la fonction de construction.
Nouvel e-mail de commande
la source
Puisque load () et save () sont obsolètes maintenant (parce que :)
J'ai utilisé OrderRepositoryInterface pour charger et enregistrer la commande:
J'espère que cela aide
la source
Magento 2.2.2 Cela ne fonctionne que de la manière suivante!
Mais le seul problème que j'ai, c'est qu'il ne met pas à jour complètement le statut:
Il ne met à jour que dans la grille et ce qui suit:
Il n'est également pas possible de créer de nouvelles factures, frais d'expédition et avoir. Merci
la source
Merci à @medmek et @ prince-patel de répondre. À la question de @ jafar-pinjar concernant le statut de la commande personnalisée, les appels setState et setStatus peuvent prendre le code d'état. Par exemple, le code d'état personnalisé "payé" est créé. Pour mettre à jour l'état / l'état d'une commande:
Pour mettre à jour le statut de la commande:
J'espère que cela aide quelqu'un là-bas.
la source