2015-07-21 117 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