2013-08-02 10 views
8

में कॉन्फ़िगर करने योग्य से सरल उत्पाद प्राप्त करें मैं ग्राहकों के कार्ट में जोड़े गए सरल उत्पादों को लोड करने का प्रयास कर रहा हूं, लेकिन जब मैं आइटम पुनर्प्राप्त करता हूं, तो यह पैरेंट कॉन्फ़िगर करने योग्य दिखा रहा है।कार्ट

$cart = Mage::getSingleton('checkout/cart'); 
$productIds = array(); 

foreach ($cart->getQuote()->getAllVisibleItems() as $item) { 
    $productIds[] = $item->getProduct()->getId(); 
} 

var_dump($productIds); 

उदाहरण के लिए, यह सब एक ही विन्यास आईडी जब मैं एक छोटे, मध्यम, और मेरी गाड़ी के लिए बड़े जोड़ दिया है वापस आ जाएगी। मैं व्यक्तिगत सरल उत्पादों को कैसे प्राप्त कर सकता हूं? मैं सरल उत्पाद स्तर पर सेट एक विशेषता मान पुनर्प्राप्त करने का प्रयास कर रहा हूं।

उत्तर

16

कैसे Magento चेकआउट/गाड़ी पृष्ठ पर अपनी कार्ट में आइटम renders पर एक नज़र लेने के बाद, मैं में app/code/core/Mage/Checkout/Block/Cart/Item/Renderer/Configurable.php

/** 
* Get item configurable child product 
* 
* @return Mage_Catalog_Model_Product 
*/ 
public function getChildProduct() 
{ 
    if ($option = $this->getItem()->getOptionByCode('simple_product')) { 
     return $option->getProduct(); 
    } 
    return $this->getProduct(); 
} 

तो यह लगता है, सवाल में टुकड़ा करने के लिए इसे लागू करने में सक्षम था, एक एक पंक्ति कोड: यह

foreach ($cart->getQuote()->getAllVisibleItems() as $item) { 
    $productId = $item->getProduct()->getId(); 
    if ($option = $item->getOptionByCode('simple_product')) { 
     $productId = $option->getProduct()->getId(); 
    } 
    $productIds[] = $productId; 
} 
+11

दूसरों के लिए किया जाएगा $ _item-> getOptionByCode ('simple_product') -> getProduct() -> getId(); –

संबंधित मुद्दे