Jawaban:
Untuk memuat pesanan dengan penambahan id, orang akan melakukannya:
Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here
Untuk memuat menurut id entitas, Anda cukup menelepon load
:
Mage::getModel('sales/order')->load(24999); //use an entity id here
Mendapatkan Detail Pesanan tergantung pada beberapa komponen:
Muat pesanan Anda: (db: sales_flat_order)
$OrderNumber = "100000001";//Put your order Number here
$order = Mage::getModel('sales/order')->load($OrderNumber, 'increment_id');
Selanjutnya, Saring Koleksi Barang Anda berdasarkan Pesanan.
Apa yang akan dilakukan kebanyakan adalah: (db: sales_flat_order_item)
$order->getAllVisibleItems();
Yang akan menampilkan produk yang terlihat. Masalahnya adalah, ia akan mendapatkan item yang "dapat dikonfigurasi" dari koleksi (yang anehnya memiliki sku anak dalam catatan). Saya menemukan ini tidak dapat diprediksi dalam kasus perubahan SKU karena SKU historis tidak lagi ada. Sebaliknya, saya merasa lebih baik melakukan pendekatan alternatif sebagai berikut.
$orderItems = $order->getItemsCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('product_type', array('eq'=>'simple'))
->load();
iterate melalui koleksi item pesanan
foreach($orderItems as $sItem) {
//Ignore conf for now
//Alt. Mage_Catalog_Model_Product_Type::TYPE_SIMPLE = 'simple';
if($sItem->getProductType() == "simple")
{
echo "\n*********************************\nMage Order #: ".$OrderNumber."\n";
//Simple Item Info from Order
echo "Type: ".$sItem->getProductType()."\n";
echo "Order Id: ".$sItem->getOrderId()."\n";
echo "Product Id: ".$sItem->getProductId()."\n";
echo "Item Id: ".$sItem->getId()."\n";
echo "Item Name: ".$sItem->getName()."\n";
echo "Item Sku: ".$sItem->getSku()."\n";
echo "Item Price: ".$sItem->getPrice()."\n";
$pItemId = $sItem->getParentItemId();
echo "Parent Item Id: ".$pItemId."\n";
echo "\n*****\n";
//Get Parent Item Information
$item = Mage::getModel('sales/order_item')->load("$pItemId"); //use an item_id here
//Testing, want to see whats inside the parent/configurable item?
//print_r($item->toArray());
echo "Parent Type: ".$item->getProductType()."\n";
echo "Parent Order Id: ".$item->getOrderId()."\n";
echo "Product Id: ".$item->getProductId()."\n";
echo "Item Id: ".$item->getId()."\n";
echo "Parent Item Price: ".$item->getPrice()."\n";
echo "Qty: ".$qty = intval($item->getQtyOrdered())."\n";
//get Active Product Data
$nProduct = Mage::getModel('catalog/product')->load($sItem->getProductId());
$nSku = $nProduct->getSku();
echo "new Product UPC:".$nUpc = $nProduct->getUpc() . "\n";
echo "new Product Price:".$nPrice = $nProduct->getPrice(). "\n";
}
}
intval
yang getQtyOrdered
, tetapi itu bisa menjadi nilai desimal :)
addAttributeToSelect
. Terima kasih.