2013-10-22 162 views
4

我已經將捆綁產品sku與簡單產品關聯起來。magento獲得捆綁產品下拉

現在我試圖獲取捆綁的產品選項。

$selectionCollection = $bundled_product->getTypeInstance(true)->getSelectionsCollection(
     $bundled_product->getTypeInstance(true)->getOptionsIds($bundled_product), $bundled_product 

我已經使用了上面的代碼,但它返回了我捆綁下的所有簡單產品。 但我想要的選項數組。 從選擇,我想選擇的陣列,這樣我可以迭代,併爲每個捆綁選項

我看着核心select.phtml

<select onchange="bundle.changeSelection(this)" id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>]" class="bundle-option-<?php echo $_option->getId() ?><?php if ($_option->getRequired()) echo ' required-entry' ?> bundle-option-select change-container-classname"> 

       <option value=""><?php echo $this->__('Choose a option') ?></option> 
      <?php foreach ($_selections as $_selection): ?> 
       <option value="<?php echo $_selection->getSelectionId() ?>"<?php if ($this->_isSelected($_selection)) echo ' selected="selected"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>><?php echo $this->getSelectionTitlePrice($_selection, false) ?></option> 
      <?php endforeach; ?> 
      </select> 

我想複製上view.phtml類似的事情創建下拉列表。但是我無法訪問這些方法。 有沒有人有想法,我該怎麼做。

回答

11
$optionCollection = $product->getTypeInstance()->getOptionsCollection(); 
$selectionCollection = $product->getTypeInstance()->getSelectionsCollection($product->getTypeInstance()->getOptionsIds()); 
$options = $optionCollection->appendSelections($selectionCollection); 
foreach($options as $option) 
{ 
    $_selections = $option->getSelections(); 
    foreach($_selections as $selection) 
    { 
     echo $selection->getName(); 
    } 
} 
+0

非常感謝!一直試圖從過去3小時內得到這個! $ options = $ optionCollection-> appendSelections($ selectionCollection);訣竅! –