Magento升级脚本创建的新属性的可见性



我正在尝试在模块升级脚本中以编程方式添加自定义属性。该脚本运行良好并创建新属性(即,它显示在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;

最新更新