मेरे पास यह स्क्रिप्ट है जो मुझे Magento 1.6 में ऑर्डर आइटम से किसी विशिष्ट उत्पाद की QTY प्राप्त करने में मदद करती है। यह एक साधारण तालिका में कल्पना की जानी चाहिए। यह मेरा कोड अब तक है:Magento: ऑर्डर आइटम में किसी विशिष्ट उत्पाद की qty कैसे प्राप्त करें?
// Load the product collection
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*');
foreach ($collection as $product) {
$id = $product->getId();
$product_name = $product->getName();
$order_output = '';
$order_output .= '<table style="width: 500px">';
$order_output .= '<tr><td colspan="3"><strong>'.$product_name.'</strong></td></tr>';
$order_output .= '<tr><td><strong>Order id</strong></td><td><strong>Total price</strong></td><td><strong>Qty</strong></td><td><strong>Customer name</strong></td></tr>';
// Get all unique order IDs for items with specifix product ID
$time = time();
$to = date('Y-m-d H:i:s', $time);
$from = date('2012-07-01 08:00:00');
$orderItems = Mage::getResourceModel('sales/order_item_collection')
->addAttributeToFilter('product_id', $id)
->addAttributeToFilter('created_at', array('from' => $from, 'to' => $to))
->addAttributeToSelect('order_id')
->load();
foreach ($orderItems as $order) {
$order_data = Mage::getModel('sales/order')->load($order['order_id']);
$items = $order_data->getColletion();
$order_id = $order['order_id'];
$total = $order_data->getGrandTotal();
$customer_name = $order_data->getCustomerName();
foreach ($items as $item) {
$product_id = $item->getProductId();
if ($product_id == $id) {
$number_of_prod = $item->getQtyOrdered();
}
}
$order_output .= '</tr>';
$order_output .= '<td width="20%" align="left">'.$order_id.'</td>';
$order_output .= '<td width="20%">'.number_format($total, 2, '.', '').' RMB</td>';
$order_output .= '<td width="20%">'.$number_of_prod.'</td>';
$order_output .= '<td width="40%">'.$customer_name.'</td>';
$order_output .= '</tr>';
}
$order_output .= '</table>';
header ("Content-Type: text/html; charset=UTF-8");
echo $order_output;
}
सबकुछ सही ढंग से पॉप्युलेट हो रहा है और केवल एक ही चीज़ गायब है। आप आउटपुट के लिए संलग्न छवि देख सकते हैं।
किसी भी मदद की बहुत सराहना की जाती है।
अद्यतन
जब मैं का उपयोग करें:
$items = $order_data->getAllItems();
मैं मात्रा मिल लेकिन अब संबंधित उत्पादों के सभी आदेशों सूचीबद्ध नहीं है।
इसके अलावा जब मैं echo $ product_id कि वर रिक्त है तो मुझे लगता है कि है कि इस लाइन: $ product_id = $ आइटम,> getProductId(); गलत है। – Ismailp