অর্ডার আইডির মাধ্যমে অর্ডার বিশদ পান


32

আমাকে আইডির মাধ্যমে ম্যাজেন্টোতে একটি অর্ডার পুনরুদ্ধার করতে হবে। আইডির মাধ্যমে আমি কীভাবে একটি নির্দিষ্ট অর্ডার লোড করব?

এখনও অবধি আমি নির্মিত প্রাথমিক ক্যোয়ারীটি পেয়েছি:

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

উত্তর:


61

ইনক্রিমেন্ট আইডি দিয়ে অর্ডার লোড করার জন্য এটি করা উচিত:

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

সত্তা আইডি দ্বারা লোড করতে আপনি কেবল কল করবেন load:

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

আমি এটি অর্ডার আইডি এবং ইনক্রিমেন্ট আইডি দিয়ে পরীক্ষা করি তবে এটি আমাকে কোনও জিনিস এবং কোনও ত্রুটি দেখায় না! magento.stackexchange.com/questions/39762/…
মাহদি

এটাই আমার প্রয়োজন
ফোসঅভান্স

17

অর্ডার বিশদ প্রাপ্তি কয়েকটি উপাদানগুলির উপর নির্ভর করে:

  1. অর্ডার (সাধারণত অর্ডার #)
  2. আদেশের বিষয়বস্তু (সাধারণ বনাম কনফিগারযোগ্য, অদৃশ্য ইত্যাদি)
  3. আপনি যে তথ্যটি উত্তোলন করতে চাইছেন (মূল্য নির্ধারণের অন্যান্য তথ্য)

আপনার অর্ডার লোড করুন: (ডিবি: বিক্রয়_ফ্ল্যাট_অর্ডার)

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

পরবর্তী, অর্ডারের উপর ভিত্তি করে আপনার আইটেমগুলির সংগ্রহ ফিল্টার করুন।

সর্বাধিক যা করা হবে তা হ'ল: (ডিবি: বিক্রয়_ফ্ল্যাট_অর্ডার_াইটেম)

$order->getAllVisibleItems();

যা দৃশ্যমান পণ্যগুলি প্রদর্শন করবে। এটির সাথে সমস্যাটি হ'ল এটি সংগ্রহ থেকে "কনফিগারযোগ্য" আইটেমটি পাবেন (যা আশ্চর্যজনকভাবে রেকর্ডটিতে সন্তানের স্কু রয়েছে)। Sতিহাসিক এসকিউ উপস্থিত নেই বলে এসকিউ পরিবর্তনের ক্ষেত্রে আমি এটি অনাকাঙ্ক্ষিত বলে মনে করি। পরিবর্তে, আমি নিম্নলিখিত হিসাবে একটি বিকল্প পদ্ধতি করা ভাল বলে মনে করি।

 $orderItems = $order->getItemsCollection()
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('product_type', array('eq'=>'simple'))
        ->load();
  • getItems Colલેક્શન () প্রকৃতপক্ষে পিতামাতাকে এবং সন্তানকে ফিরিয়ে দেবে, বেশিরভাগের জন্যই বিভ্রান্তিকর। সন্তানের উপর ফোকাস করতে দেয়।
  • Ditionতিহ্যগতভাবে, পিতামাতাদের (অর্থাত্ কনফিগারযোগ্য) মূল্য নির্ধারণের তথ্য থাকবে, যেখানে শিশু (সরল) তা দেবে না। চাইল্ড (সাধারণ পণ্য) দিয়ে আমরা নির্ধারণ করতে সক্ষম হয়েছি যে সেখানে কোন প্যারেন্ট_আইড রয়েছে (তবে বিপরীত নয়) এবং আমরা getAllVisibleItems () থেকে যেমন অ্যান্টি_আইড (বিপরীত নয়) থেকে পণ্য তথ্যও নিতে সক্ষম হয়েছি।
  • ক্রম আইটেম সংগ্রহের মাধ্যমে পুনরাবৃত্তি

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

শুধু একটি নোট, আপনি , কিন্তু যে একটি দশমিক মান :) হতে পারেintvalgetQtyOrdered
হ্যারি Mustoe-Playfair

যেখানে আমি মডেল অন্তর্নির্মিত ফাংশন সম্পর্কিত সমস্ত ডকুমেন্টেশন পেতে পারি addAttributeToSelect। ধন্যবাদ.
ইফতাখারুল আলম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.