2013-10-21 5 views
6

से उत्पाद विकल्प नहीं है निम्नलिखित foreach पाश कार्ट पृष्ठ पर:

foreach($this->getItems() as $_item) { 

} 

मैं इन वस्तुओं के लिए उत्पाद विकल्प प्राप्त करने की आवश्यकता है, मैं कुछ तरीकों की कोशिश की है, लेकिन मैं कर रहा हूँ मुझे आवश्यक परिणामों को पुनः प्राप्त करने में असमर्थ।

मैं कोशिश की है:

foreach($this->getItems() as $_item) { 
    print_r($_item->getProductOptions()); 
} 

और:

foreach($this->getItems() as $_item) { 
    print_r($_item->getOptionList()); 
} 

वहाँ किसी भी अन्य कार्यों मैं इस्तेमाल कर सकते हैं कर रहे हैं?

+2

जवाब पता नहीं है, लेकिन आप एक विधि के लिए देख रहे हैं, की कोशिश:

यह मैं का उपयोग करने के लिए सक्षम बनाता है 'var_dump (get_class_methods (get_class ($ आइटम)));' - आप करेंगे कक्षा के सभी तरीकों (जादू विधियों नहीं) की एक सरणी प्राप्त करें। –

+0

जानना बहुत आसान है, धन्यवाद @StefanBrendle – Karl

+0

@ करल: इसे सुधारने के लिए अपने प्रश्न के लिए प्रकार (वह वर्गनाम) जोड़ें। – hakre

उत्तर

21

उपयोग करने का प्रयास मेरे लिए कोई रास्ता नहीं है। $_item जो भी getProduct() विधि हो सकता है।

दूसरी तरफ, आपके पास id उपलब्ध होगा जो आप सीधे लोड कर सकते हैं। मेरे उदाहरण में, मुझे उत्पाद वस्तु को $_items = $this->helper('catalog/product_compare')->getItemCollection() में किसी आइटम से प्राप्त करने की आवश्यकता थी। <?php $product = Mage::getModel('catalog/product')->load($_item->getId()) ?>

-7

आप cart.phtml पर विकल्प सूची प्राप्त नहीं कर सकते, तो आप विकल्प सूची के लिए अद्यतन करने के लिए फ़ाइल नीचे/संपादन है:

app\design\frontend\YOUR_PACKAGE_NAME\YOUR_TEMPLATE_NAME\template\checkout\cart\item\default.phtml 

आशा है कि यह मदद मिलेगी!

0
हो सकता है कि इस तरह

:

$_item->getProduct()->getTypeInstance(true)->getOrderOptions($_item->getProduct()); 
1

यह हो सकती है कि आप सही दिशा में शुरू कर दिया ...

$productSku = "ABCDE"; 
$product = Mage::getModel('catalog/product'); 
$productId = $product->getIdBySku($productSku); 
$product->load($productId); 

/** 
* In Magento Models or database schema level, the product's Custom Options are 
* executed & maintained as only "options". So, when checking whether any product has 
* Custom Options or not, we should check by using this method "hasOptions()" only. 
*/ 
if($product->hasOptions()) { 
    echo '<pre>'; 

    foreach ($product->getOptions() as $o) { 
     $optionType = $o->getType(); 
     echo 'Type = '.$optionType; 

     if ($optionType == 'drop_down') { 
      $values = $o->getValues(); 

      foreach ($values as $k => $v) { 
       print_r($v); 
      } 
     } 
     else { 
      print_r($o); 
     } 
    } 

    echo '</pre>'; 
} 
+0

$ उत्पाद में रिक्त हो रहा है-> हैऑप्शन() –

0

वर्तमान उत्तर के रूप में खड़ा है:

foreach($items as $product) { 
    $options = $product->getProduct()->getTypeInstance(true)->getOrderOptions($product->getProduct()); 
    if ($options) 
    { 
     if (isset($options['options'])) 
     { 
      $result = $options['options']; 
     } 
     if(count($result)>0){ 
      foreach($result as $key =>$value){ 
       $resultoption = $value['value']; 
     } 
    } 
}