通过添加属性到用户实体。安装脚本

时间:2013-09-09 07:30:41

标签: php xml magento

我最近有了一个新的实习机会,我必须用Magento编程,这是我以前从未尝试过的。我当前任务的一部分是向我们的客户实体添加一些额外的属性,然后将在后端显示。

此时我已经设法添加了一个属性,这是后端的文本字段,但我真正想要做的是添加一个带有预定义选项的选择框。每当我尝试这样做时,我的Magento就会腐败,直到我必须重新安装整件事。我此刻正撞在墙上。

我是通过这样做的。安装脚本,来自我创建的模块。

下面我已粘贴在我的安装脚本中,但如果您需要查看更多代码,请告诉我们。

mysql4安装-0.1.0.php:

<?php 

$installer = $this;
$installer->startSetup();

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');

$entityTypeId     = $setup->getEntityTypeId('customer');
$attributeSetId   = $setup->getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $setup->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);

$setup->addAttribute('customer', 'skintype', array(
    'input'         => 'select',
    'type'          => 'varchar',
    'option'        => array(
                                'optionone' => array('zero' => array(0 => 'normal hud')),
                                'optiontwo' => array('one' => array(1 => 'tør hud')),
                                'optionthree' => array('two' => array(2 => 'fedtet hud')),
                                'optionfour' => array('three' => array(3 => 'kombineret hud')),
                                'optionfive' => array('four' => array(4 => 'sensibel hud'))
                            ),  
    'default'       => array('optionone'),
    'label'         => 'Skintype',
    'visible'       => 1,
    'required'      => 0,
    'user_defined' => 1,
));

$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'skintype');
$oAttribute->setData('used_in_forms', array('adminhtml_customer'));
$oAttribute->save();

$setup->endSetup();

?>

1 个答案:

答案 0 :(得分:0)

只需稍作修改

使用LIke

'option' => array ( 'value' => array( '0'=>array(0=>'Small'), '1'=>array(0=>'Medium'), '2'=>array(0=>'Large'), ) ),