Sipariş Kimliğine Göre Sipariş Detaylarını Alın


32

Magento’dan kimliğine göre sipariş almam gerekiyor. Id ile belirli bir siparişi nasıl yüklerim?

Şimdiye kadar inşa edilen ilk sorguyu aldım:

Mage::getModel('sales/order');

Yanıtlar:


61

Bir siparişi artan ID ile yüklemek için:

Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here

Varlık kimliğine göre yüklemek için şunu çağırmanız yeterlidir load:

Mage::getModel('sales/order')->load(24999); //use an entity id here

Ben sipariş kimliği ve artış kimliği ile test ama bana hiçbir şey ve hata göstermek! magento.stackexchange.com/questions/39762/…
mahdi

İşte ihtiyacım olan şey
FosAvance

17

Sipariş Ayrıntılarını Alma birkaç bileşene bağlıdır:

  1. Sipariş (normalde sipariş no.)
  2. Siparişin İçeriği (Basit ve Yapılandırılabilir, Görünmez, vb.)
  3. Çıkarmak İstediğiniz Bilgiler (Fiyatlandırma vs Diğer bilgiler)

Siparişini Yükle: (db: sales_flat_order)

$OrderNumber = "100000001";//Put your order Number here
$order = Mage::getModel('sales/order')->load($OrderNumber, 'increment_id');

Ardından, Siparişi temel alarak Ürün Koleksiyonunuzu filtreleyin.

Ne yapacaksın: (db: sales_flat_order_item)

$order->getAllVisibleItems();

Hangi görünür ürünleri gösterecek. Bununla ilgili sorun, koleksiyondan "yapılandırılabilir" öğeyi alabilmesidir (garip bir şekilde çocuğun siciliğine kaydedilmiştir). Tarihsel SKU artık mevcut olmadığından, SKU’nun değişmesi durumunda bunun öngörülemez olduğunu düşünüyorum. Bunun yerine, alternatif bir yaklaşım izlemeyi daha iyi buluyorum.

 $orderItems = $order->getItemsCollection()
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('product_type', array('eq'=>'simple'))
        ->load();
  • getItemsCollection () aslında Ebeveyn ve Çocuk’u döndürür, çoğu için kafa karıştırıcıdır. Çocuğa odaklanalım.
  • Geleneksel olarak, Ebeveyn (yani Yapılandırılabilir), çocuğun (basit) olmayacağı fiyat bilgisine sahip olacaktır. Child (basit ürün) ile parent_id olup olmadığını belirleyebiliriz (ancak tam tersi değil) ve ürün bilgisini getAllVisibleItems () yönteminden itibaren entity_id'den (tam tersi değil) alabiliriz.
  • sipariş öğelerinin toplanması yoluyla yinelenir

    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";
    
            }
        }
    

Sadece bir nota sen , ama bu bir ondalık değer :) olabilirintvalgetQtyOrdered
Harry Mustoe-Playfair

Gibi model yerleşik işlevi hakkında tüm belgeleri nerede bulabilirim addAttributeToSelect. Teşekkür ederim.
Iftakharul Alam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.