magento multiselect产品属性未在前端显示选项标签

时间:2015-06-03 07:40:59

标签: attributes product multi-select magento-1.9

我已经检查了很多并尝试了很多东西,但我仍然没有在产品视图页面上获得产品多选选择值标签。

我有一个名为package的产品属性,它是多选的, 创建产品属性的代码

$this->addAttribute(
    'catalog_product',
    'package',
    array(
        'group'             => 'Package',
        'backend'           => 'eav/entity_attribute_backend_array',
        'frontend'          => '',
        'class'             => '',
        'default'           => '',
        'label'             => 'Package',
        'input'             => 'multiselect',
        'type'              => 'text',
        'source'            => 'npm_recurrex/package_source',
        'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
        'is_visible'        => 1,
        'required'          => 0,
        'searchable'        => 0,
        'filterable'        => 0,
        'unique'            => 0,
        'comparable'        => 0,
        'visible_on_front'  => 0,
        'user_defined'      => 1,
    )
);

这很好用,我成功保存了产品。 但是当我说

时,在前端产品查看页面中
Mage::log(print_r($_product->getData('package'), true));

将结果打印为1,2 但我想显示多选而非选项ID的选项标签。 所以我尝试了这段代码

Mage::log(print_r($_product->getAttributeText('package'), true));

它什么都不打印,只是空格:(。

我已经检查了这个link但没有用。

我对此感到困惑,我哪里错了?什么是错的?

有人可以解释一下我的情况吗?

1 个答案:

答案 0 :(得分:0)

如果您需要显示属性产品的Drop Down或Multiple select值,您应该执行以下操作:



$attributes = $_product->getAttributes();
$customAttributeValue = $attributes['custom_attribute']->getFrontend()->getValue($_product);
Mage::log($customAttributeValue);