Получаем список товаров из заказа (ордера) в Magento.
Пример кода:
$order = Mage::getModel('sales/order')->load(7);
//или
$order = Mage::getModel('sales/order')->loadByIncrementId(10000007)
$items = $order->getAllItems();
$itemcount=count($items);
$name=array();
$unitPrice=array();
$sku=array();
$ids=array();
$qty=array();
foreach ($items as $itemId => $item)
{
$name[] = $item->getName();
$unitPrice[]=$item->getPrice();
$sku[]=$item->getSku();
$ids[]=$item->getProductId();
$qty[]=$item->getQtyToInvoice();
}
Как видно получаем масив с данными, но не все так просто.
В Magento довольно запутаная система создания заказов, к примеру этим куском кода мы можем получить список товаров для заказа который в процессе обработки.
Если заказ уже готов – Complete, то у нас будет пустой список 🙁 .
Но есть и хорошие новости, в Мадженто много дублирующих функций и методов, к примеру информацию о заказе можем получить с помощью API , которое в Magento очень хорошо реализовано.
Можно также использовать функции API напрямую в коде.
Пример кода, используем функции API:
$apiClass = new Mage_Sales_Model_Order_Api;
$myOrderInfo = $apiClass->info('1000000001');
// номер заказа 1000000001
//1000000001 - 'increment_id'
var_dump($myOrderInfo); //получаем весь массив с данными