Magento - 通过安装程序安装EAV属性

时间:2013-03-11 21:11:30

标签: magento

嘿伙计我在我的模块中使用安装程序将新的EAV产品属性添加到Default属性集。到目前为止,它的工作效果很好,但有两件小事让我烦恼。

public function getDefaultEntities(){

    return array(
        'catalog_product' => array(
            'entity_model'                      => 'catalog/product',
            'attribute_model'                   => 'catalog/resource_eav_attribute',
            'table'                             => 'catalog/product',
            'additional_attribute_table'        => 'catalog/eav_attribute',
            'entity_attribute_collection'       => 'catalog/product_attribute_collection',
            'attributes'        => array(
                'disable_sale' => array(
                    'group'                     => 'General',
                    'label'                     => 'Disable Sale',
                    'type'                      => 'int',
                    'input'                     => 'select',
                    'source'                    => 'eav/entity_attribute_source_boolean',
                    'global'                    => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
                    'is_visible_on_front'       => true,
                    'used_in_product_listing'   => true,
                )
            )
        )
    );
}

我希望我的属性集在产品详细信息页面和默认目录列表中可见。

'is_visible_on_front'       => true,
'used_in_product_listing'   => true,

问题是这两个值都没有设置为可见。 我做错了什么?

3 个答案:

答案 0 :(得分:0)

我没有使用属性本身,但是在代码中尝试“整数”1和“字符串”“1”并查看它是否有效。

答案 1 :(得分:0)

is_visible_on_front更改为visible_on_front,然后检查。

答案 2 :(得分:0)

在stackoverflow找到答案: Magento module setup/installer script

安装程序类应该从

扩展
Mage_Catalog_Model_Resource_Eav_Mysql4_Setup

现在安装程序知道其他属性,它的工作方式就像魅力一样。