जवाबों:
$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) {
$productName = $item->getProduct()->getName();
$productPrice = $item->getProduct()->getPrice();
}
, $cart
आपको कार्ट आइटम का सभी संग्रह मिला है और यदि आप उत्पाद आईडी प्राप्त करना चाहते हैं, तो नाम आपको फ़ॉरच लूप का उपयोग करने से मिल सकता है
मुझे एक और उपाय मिला। निम्नलिखित कोड मेरे लिए काम करता है।
$quote = Mage::getSingleton('checkout/session')->getQuote();
$cartItems = $quote->getAllVisibleItems();
foreach ($cartItems as $item) {
$productId = $item->getProductId();
// Do something more
}
$item->getProduct()
... हर बार जब आप मैगेंटो में उपयोग करने के बारे में सोचते हैं -> लोड () आप खराब प्रदर्शन पर भरोसा कर सकते हैं, कभी-कभी कोई अन्य नहीं होता है विकल्प वास्तव में, लेकिन यहाँ ऐसा नहीं है ..
कई तरीके हैं जो एक अलग तरीके से काम करते हैं:
$items = Mage::getSingleton('checkout/cart')->getQuote()->getItemsCollection();
वर्तमान उद्धरण से संबंधित सभी वस्तुओं के साथ एक उद्धरण आइटम संग्रह लौटाता है ।
$items = Mage::getSingleton('checkout/cart')->getItems();
यह ऊपर दी गई विधि के लिए एक शॉर्टकट है, लेकिन अगर कोई उद्धरण नहीं है तो यह एक खाली सरणी देता है, इसलिए आप संग्रह उदाहरण प्राप्त करने पर भरोसा नहीं कर सकते।
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllItems();
आइटम संग्रह को लोड करता है, फिर सभी आइटमों की एक सरणी लौटाता है जिन्हें हटाए जाने के रूप में चिह्नित नहीं किया गया है (अर्थात वर्तमान अनुरोध में हटा दिया गया है)
$items = Mage::getSingleton('checkout/cart')->getQuote()->getAllVisibleItems();
आइटम संग्रह को लोड करता है, फिर सभी आइटमों की एक सरणी लौटाता है जो हटाए गए के रूप में चिह्नित नहीं हैं और जिनके पास माता-पिता नहीं हैं (यानी आपको बंडल किए गए और कॉन्फ़िगर किए गए उत्पादों के लिए आइटम मिलते हैं लेकिन उनके संबद्ध बच्चे नहीं हैं)। प्रत्येक सरणी आइटम कार्ट पेज में प्रदर्शित पंक्ति से मेल खाती है।
चुनें कि आपकी आवश्यकताओं में सबसे उपयुक्त क्या है। ज्यादातर मामलों में अंतिम विधि वही है जो आपको चाहिए, लेकिन दुर्भाग्य से Magento इसे केवल सरणी के रूप में प्रदान करता है न कि संग्रह के रूप में।
ध्यान दें कि Mage::getSingleton('checkout/cart')->getQuote()
और Mage::getSingleton('checkout/session')->getQuote()
विनिमेय हैं।
$items =Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
foreach($items as $item) {
echo 'ID: '.$item->getProductId().'<br />';
echo 'Name: '.$item->getName().'<br />';
echo 'Sku: '.$item->getSku().'<br />';
echo 'Quantity: '.$item->getQty().'<br />';
echo 'Price: '.$item->getPrice().'<br />';
echo "<br />";
}
कार्ट में सभी आइटम प्राप्त करने का सबसे अच्छा तरीका है
नीचे कोड का उपयोग कार्ट आइटम प्राप्त करने के लिए किया जाता है
$cart = new Mage_Checkout_Model_Cart();
$cart->init();
foreach ($cart->getItems() as $item) {
// we can wrap our request in this IF statement
if (!$item->getParentItemId()) {
}
}