$orderId = 1;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('\Magento\Sales\Model\Order')->load($orderId);
$order->setState("processing")->setStatus("processing");
$order->save();
Powiedz mi, jak zaktualizować status zamówienia w Magento 2?
magento2
sales-order
magento-2.1.3
Rahul Katoch
źródło
źródło
Zamów aktualizację stanu
Aby zaktualizować stan i status zamówienia pro gramatycznie w celu zdefiniowania statusu i stanu w tym formacie. Zainicjuj obiekt zamówienia w funkcji konstrukcyjnej i użyj tego obiektu zamówienia w funkcji niestandardowej, aby go zaktualizować. Aby programowo zaktualizować stan zamówienia w modelu, pobierz obiekt zamówienia z funkcji konstruowania.
E-mail dotyczący nowego zamówienia
źródło
Ponieważ load () i save () są teraz przestarzałe (ponieważ :)
Użyłem interfejsu OrderRepositoryInterface, aby załadować i zapisać zamówienie:
Mam nadzieję, że to pomoże
źródło
Dzięki @medmek i @ prince-patel odpowiedzi. Jako pytanie od @ jafar-pinjar dotyczące niestandardowego statusu zamówienia, wywołania setState i setStatus mogą przyjmować kod statusu. Na przykład tworzony jest niestandardowy kod stanu „płatny”. Aby zaktualizować status / stan do zamówienia:
Aby zaktualizować status zamówienia:
Mam nadzieję, że pomoże komuś tam.
źródło
Magento 2.2.2 Działa to tylko w następujący sposób!
Ale jedynym problemem, jaki mam, jest to, że nie aktualizuje w pełni statusu:
Aktualizuje tylko w siatce i następujące czynności:
Nie można również utworzyć nowej faktury, wysyłki i noty kredytowej. Dzięki
źródło