Respuestas:
Para cargar un pedido por ID de incremento, uno haría:
Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here
Para cargar por ID de entidad, simplemente llame load
:
Mage::getModel('sales/order')->load(24999); //use an entity id here
Obtener los detalles del pedido depende de algunos componentes:
Cargue su pedido: (db: sales_flat_order)
$OrderNumber = "100000001";//Put your order Number here
$order = Mage::getModel('sales/order')->load($OrderNumber, 'increment_id');
A continuación, filtre su colección de artículos según el pedido.
Lo que la mayoría hará es: (db: sales_flat_order_item)
$order->getAllVisibleItems();
Que mostrará los productos visibles. El problema con esto es que obtendrá el elemento "configurable" de la colección (que extrañamente tiene el sku del niño en el registro). Creo que esto es impredecible en el caso de los cambios de SKU, ya que el SKU histórico ya no está presente. En cambio, me parece mejor hacer un enfoque alternativo de la siguiente manera.
$orderItems = $order->getItemsCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('product_type', array('eq'=>'simple'))
->load();
iterar a través de la colección de artículos de pedido
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
el getQtyOrdered
, pero que puede ser un valor decimal :)
addAttributeToSelect
. Gracias.