Muszę odzyskać zamówienie w Magento według jego identyfikatora. Jak załadować konkretne zamówienie według Id?
Do tej pory zbudowałem wstępne zapytanie:
Mage::getModel('sales/order');
Aby załadować zamówienie według identyfikatora przyrostu, należy:
Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here
Aby załadować według identyfikatora encji, wystarczy wywołać load
:
Mage::getModel('sales/order')->load(24999); //use an entity id here
Uzyskanie szczegółów zamówienia zależy od kilku elementów:
Załaduj swoje zamówienie: (db: sales_flat_order)
Następnie odfiltruj swoją kolekcję przedmiotów na podstawie zamówienia.
Najczęściej będą to robić: (db: sales_flat_order_item)
Które pokażą widoczne produkty. Problem polega na tym, że pobierze element „konfigurowalny” z kolekcji (co dziwnie zawiera zapis Sku dziecka). Uważam, że jest to nieprzewidywalne w przypadku zmian SKU, ponieważ historyczny SKU nie jest już obecny. Zamiast tego uważam, że lepiej jest zastosować alternatywne podejście w następujący sposób.
iterować przez kolekcję przedmiotów zamówienia
źródło
intval
getQtyOrdered
addAttributeToSelect
. Dziękuję Ci.