I've created a module to track orders, But the order details such as ( Product Name, Image, Size, Color, Quantity) are not displaying in the result page.
I'm getting the shipping address and Price of the product
Code
<?php $order = Mage::registry('current_order');?>
<?php
$OrderNumber = $order->getIncrementId();
$getOrder = Mage::getModel('sales/order')->load($OrderNumber);
$getOrder->getAllVisibleItems();
$orderItems = $getOrder->getItemsCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('product_type', array('eq'=>'simple'))
->load();
?>
<?php
$order = new Mage_Sales_Model_Order();
$order_id = $OrderNumber;
$order->loadByIncrementId($order_id);
$payment_method = $order->getPayment()->getMethodInstance()->getTitle();
$formattedPriceSubtotal = Mage::helper('core')->currency($order->getSubtotal(), true, false);
$formattedPriceShipping = Mage::helper('core')->currency($order->getShippingAmount(), true, false);
$formattedPriceDiscount = Mage::helper('core')->currency($order->getDiscountAmount(), true, false);
$formattedPriceTax = Mage::helper('core')->currency($order->getTaxAmount(), true, false);
$formattedPriceGrandtotal = Mage::helper('core')->currency($order->getGrandTotal(), true, false);
$_shippingAddress = $order->getShippingAddress();
foreach($orderItems as $sItem) {
if($sItem->getProductType() == "simple")
{
$orderIdArray[$orderCount] = $this->escapeHtml($this->getIncrementId());
// code for size and color
$Get_product= Mage::getSingleton('catalog/product')->load($sItem->getProductId());
$productSize = $Get_product->getResource()->getAttribute('size')->getFrontend()->getValue($Get_product);
$productColor = $Get_product->getResource()->getAttribute('color')->getFrontend()->getValue($Get_product);
$pItemId = $sItem->getParentItemId();
$item = Mage::getModel('sales/order_item')->load("$pItemId");
$qty = intval($item->getQtyOrdered());
//get Active Product Data
$nProduct = Mage::getModel('catalog/product')->load($sItem->getProductId());
$nSku = $nProduct->getSku();
$obj = Mage::getModel('catalog/product');
$Parent_product = Mage::getModel('catalog/product')->loadByAttribute('sku','product-sku');
$formattedPrice = Mage::helper('core')->currency($Parent_product->getPrice(), true, false);
?>
Best Answer
$OrderNumber give order
increment id not order id
thatUse
loadByIncrementId()
instead ofload()
.You done lot of code,Several time load product model/order object,you need to optimized: