Magento属性下拉列表,第一个空值

时间:2015-07-21 09:13:31

标签: php magento magento-1.9

我想使用product属性中的值显示一个下拉列表。但总是显示第一个空位。我有2个值,但我不知道为什么数组有3个位置

<?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 个答案:

答案 0 :(得分:2)

我找到了解决方案heregetAllOptions可以收到两个参数:

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

$withEmpty为数组添加一个空选项

只需将false传递给getAllOptions()

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