您正在查找的密钥是在您的SQL设置中传递source
值。确保你的$installer
是EAV setup object。
你会做你的安装脚本如下:
$installer = $this;
$installer->starSetup();
// Setup customer multiselect attribute
$attr = array(
'backend' => 'eav/entity_attribute_backend_array',
'input' => 'multiselect',
'label' => 'Permissions',
'note' => 'Used for group-based frontend permissions.',
'required' => false,
'sort_order' => '1000',
'source' => 'eav/entity_attribute_source_table', // Change it here
'user_defined' => true
);
$installer->addAttribute('customer', 'permissions', $attr);
// Add options for permissions
$options = array(
'attribute_id' => $installer->getAttributeId('customer', 'permissions'),
'value' => array(
'place_order' => array('Can Place Orders'),
'view_catalog' => array('Can View the Catalog'),
)
);
$installer->addAttributeOption($options);
$installer->endSetup();
Utimately,我相信源模型可以是任何东西,它提供了toOptionArray()
功能。
嗯,我还以为source_model可以在属性创建过程中进行分配。看来我必须为所有新属性添加updateAttribute()步骤(因为大多数新属性都是select的类型)。不管怎么说,还是要谢谢你。 – user2880076