আমাকে আইডির মাধ্যমে ম্যাজেন্টোতে একটি অর্ডার পুনরুদ্ধার করতে হবে। আইডির মাধ্যমে আমি কীভাবে একটি নির্দিষ্ট অর্ডার লোড করব?
এখনও অবধি আমি নির্মিত প্রাথমিক ক্যোয়ারীটি পেয়েছি:
Mage::getModel('sales/order');
আমাকে আইডির মাধ্যমে ম্যাজেন্টোতে একটি অর্ডার পুনরুদ্ধার করতে হবে। আইডির মাধ্যমে আমি কীভাবে একটি নির্দিষ্ট অর্ডার লোড করব?
এখনও অবধি আমি নির্মিত প্রাথমিক ক্যোয়ারীটি পেয়েছি:
Mage::getModel('sales/order');
উত্তর:
ইনক্রিমেন্ট আইডি দিয়ে অর্ডার লোড করার জন্য এটি করা উচিত:
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
অর্ডার বিশদ প্রাপ্তি কয়েকটি উপাদানগুলির উপর নির্ভর করে:
আপনার অর্ডার লোড করুন: (ডিবি: বিক্রয়_ফ্ল্যাট_অর্ডার)
$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();
ক্রম আইটেম সংগ্রহের মাধ্যমে পুনরাবৃত্তি
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
getQtyOrdered
addAttributeToSelect
। ধন্যবাদ.