2013-01-04 57 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,