2013-01-04 51 views
2

我试图从安装script.Even虽然是获取添加属性添加属性,某些选项有不同的值比安装脚本编程添加属性

/* @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,但在管理员“必需”选项中设置为是

+0

谢谢......它帮助我.. –

回答

3

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

2

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

'required' => false,