我正在尝试在模块升级脚本中以编程方式添加自定义属性。该脚本运行良好并创建新属性(即,它显示在Catalog->属性下的Magento Admin列表中 ->一旦脚本运行后,它将出现)。
首先,我正在使用Mage_Eav_Model_Entity_Setup
类(如此处建议,"可见"one_answers" apply_to"字段都没有按预期设置("可见"始终是错误的,并且"申请"保留为"所有产品类型"而不是使用脚本中提供的列表)。
然后我找到了这个,它解释说我应该使用 Mage_Catalog_Model_Resource_Setup
,这已解决了" apply_to'"的问题。
但我仍然无法将属性的'可见性属性设置为true。如果有人有任何想法,为什么仍然没有设置"可见"属性,因为我应该非常感谢,谢谢!
这是我的升级脚本代码:
$updater = $this; // $this is class Mage_Eav_Model_Entity_Setup
$updater->startSetup();
$updater->addAttribute('catalog_product', 'my_test_attribute', array(
'label' => 'My Test Attribute',
'type' => 'int',
'input' => 'select',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'apply_to' => 'simple,configurable',
'group' => 'General',
'visible' => true,
'required' => true,
'user_defined' => true,
));
$updater->endSetup();
我在Windows 7的Wamp中运行Magento 1.7.0.1。
我现在已经解决了此问题 - 它需要设置的" visible_on_front"属性,而不仅仅是"可见"。即,我将此行添加到上面的脚本中,现在有效:
'visible_on_front' => true,
此属性不是布尔值,它是整数。因此,您已经设置了1 = true 0 = false;