2

我正在尝试从设置脚本中添加属性。即使添加了属性,但某些选项的值与设置脚本中指定的值不同

/* @var $installer Mage_Eav_Model_Entity_Setup */
$installer = $this;

$installer->startSetup();


$entityTypeId = 'catalog_product';
$attributeCode ='dz_video';

$data = array(
    'type'=>'textarea',
    'input'=>'text',
    'label'=>'Video',
    'is_required' =>'0',
    'is_unique' =>'0',
    'is_global' =>Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
    'is_comparable'=>'0',
    'is_wysiwyg_enabled'=>'0',
    'is_searchable'=>'0',
    'is_used_for_price_rules'=>'0',
    'is_html_allowed_on_front'=>'1',
    'is_visible_on_front'=>'1',
    'used_in_product_listing'=>'0',
    'used_for_sort_by'=>'0',
    'user_defined'=>'1',
    'is_configurable'=>'1'
);

$installer->addAttribute($entityTypeId,$attributeCode,$data);

例如,“is_required”的指定值为 0,但在管理员“必需”选项中设置为是

4

2 回答 2

3

这在 EAV 设置类中有点奇怪。当您使用 addAttribute 时,您的数据数组将被重新映射。updateAttribute 中不是这种情况。检查类 Mage_Eav_Model_Entity_Setup 及其 _prepareValues() 方法。例如,您的 is_required 需要简单地“必需”才能按预期工作!

于 2013-01-04T08:36:37.033 回答
2

mpaepper 的回答是正确的。此外,在某些情况下,该值需要为真或假,而不是 1 或 0。例如:

'required' => false,
于 2013-01-04T09:00:09.127 回答