2011-10-24 18 views
6

मैं एक पर्यवेक्षक कि एक क्रम में हर आइटम की जाँच लिख रहा हूँ लौटने के लिए, कुछ बिंदु पर मैं आइटम

foreach($order->getAllItems() as $item){ 
    //do something 
    echo $item->getSku(); 
    } 

    //output 
    sku-first 
    sku-first 
    sku-second 
    sku-second 

लेकिन मैं दो बार एक ही प्राप्त हो पाठ्यक्रम के समान स्की के साथ आइटम, पकड़ कहाँ है? शायद कुछ विन्यास फाइल में?

उत्तर

11

मेरा मानना ​​है कि आप getAllItems() के बजाय getAllVisibleItems() का उपयोग करना चाहते हैं।

मुझे विश्वास है कि GetAllItems को इसके संबंधित सरल उत्पाद के साथ विन्यास योग्य हो जाता है।

+0

प्राप्त करें Magento 1.8.x पर सभी दृश्यमान Items ठीक काम करता है। टी.के.एस! – medina

8

विकल्प getAllVisibleItems काम नहीं करते

आप इस कोड

$_items = $order->getItemsCollection(); 

foreach ($_items as $item) { 
    if ($item->getParentItem()) continue; 
    //do something 
    echo $item->getSku(); 
} 
+0

'getAllVisibleItems 'आंतरिक रूप से जांचता है कि आइटम में parent_item_id नहीं है, इसलिए यदि यह आपके लिए काम नहीं कर रहा है, तो कुछ और गलत है। – kojiro

2

तो getAllVisibleItems() काम नहीं कर रहा उपयोग करने के लिए सुनिश्चित करें कि आप इसे सही ढंग से हो रही है बनाने के लिए है:

$quote = Mage::getSingleton('checkout/session')->getQuote(); 
$cartItems = $quote->getAllVisibleItems(); 
foreach ($cartItems as $item) { 
    echo $item->getQty(); 
} 

स्रोत : https://stackoverflow.com/a/5512656/922522