我正在尝试在我的magento后端类别中使用multiselect
选项。
我有以下代码:
$installer = $this;
$installer->startSetup();
$attribute = array(
'group' => "General Information", // and this one
'label' => 'Location',
'type' => 'varchar',
'input' => 'multiselect',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
'visible' => true,
'required' => false,
'is_user_defined' => true,
'option'=> array (
'value' => array(
'england'=> array(
0 =>'England'),
'scotland'=> array(
0 =>'Scotland')
)
)
);
$installer->addAttribute('catalog_category', 'bottom_description', $attribute);
$installer->endSetup();
这会在后端创建一个新属性,但没有值。
我是否需要配置其他任何内容以便查看这些值?
由于
编辑:
在config.xml中我有:
<version>0.8.0</version>
我有另一个档案:
mysql4-upgrade-0.7.0-0.8.0.php
当我清除缓存并访问类别时,似乎没有运行此文件。
有什么想法吗?
答案 0 :(得分:1)
你在mysql4-upgrade脚本中编写上面的脚本吧?你有更新config.xml版本 因为只有在config.xml中升级版本时它才会执行 所以请检查
答案 1 :(得分:1)
Arrr ....你很亲密。它应该是'value' => array(....)
而不是'values' => array(...)
但我在这看到一个问题。向属性添加选项时,选项值应为int值
假设您在代码中添加了该属性,并使用Location
England,Scotland
保存了一个产品。数据库中的值不会是england,scotland
类似于:76,77
。苏格兰和英格兰选项的自动生成的Ids。如果要将值保存为england,scotland
,则需要为此属性编写自定义源模型
You can find here an example and adapt it to your needs.
答案 2 :(得分:0)
要在类别部分添加自定义yes / no属性,请创建模块并输入以下代码。
<?php
$this->startSetup();
$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'featured_product', array(
'group' => 'General Information',
'input' => 'select',
'type' => 'text',
'label' => 'Featured Category',
'backend' => '',
'visible' => true,
'required' => false,
'visible_on_front' => true,
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'source' => 'eav/entity_attribute_source_boolean',
));?>
请参阅我的教程。
http://www.pearlbells.co.uk/how-to-add-custom-attribute-dropdown-to-category-section-magento/