2015-07-21 33 views
0

我想用產品屬性中的值顯示一個下拉菜單。但總是顯示第一個空位。我有2個值,但我不知道爲什麼有陣3位帶有第一個空值的Magento屬性下拉菜單

<?php 
    $options = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'tipo_paquete')->getSource()->getAllOptions(); 
    var_dump($options); 
?> 
<select id="tipo_paquete" class="required select" name="tipo_paquete"> 
    <option value=""><?php echo $helper->__('--Please Select--')?></option> 
    <?php 
     foreach ($options as $option) 
     { 
      echo "<option value='".$option['value']."'>". $option['label'] ."</option>"; 
     } 
    ?> 
</select> 

此代碼顯示選擇這樣的:

Look at the white row

而且顯示的var_dump此:

array(3) { [0]=> array(2) { ["label"]=> string(0) "" ["value"]=> string(0) "" } [1]=> array(2) { ["value"]=> string(1) "8" ["label"]=> string(15) "Caja de cartón" } [2]=> array(2) { ["value"]=> string(1) "7" ["label"]=> string(14) "Caja de madera" } } 

我不知道爲什麼我有3個職位,我只保存了2個選項。我用同樣的問題測試了其他屬性。

回答

1

我找到了解決方案heregetAllOptions能接受兩個參數:

array getAllOptions ([bool $withEmpty = true], [bool $defaultValues = false]) 

$withEmpty增加了一個空的選項,以陣列

只是傳遞falsegetAllOptions()

$options = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'tipo_paquete')->getSource()->getAllOptions(false); 
+0

在Magento 2中爲我工作 –

+0

隨時投票解決方案;) – Unknown

相關問題