【问题标题】:Magento attribute dropdown with first empty value具有第一个空值的 Magento 属性下拉列表
【发布时间】:2015-07-21 09:13:31
【问题描述】:

我想显示一个包含产品属性值的下拉菜单。但总是显示第一个位置为空。我有 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>

这段代码显示了这样的选择:

而 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 个选项。我用其他属性测试了同样的问题。

【问题讨论】:

    标签: php magento magento-1.9


    【解决方案1】:

    我找到了解决方案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);
    

    【讨论】:

    • 在 Magento 2 中为我工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多