私は最近、Magento でプログラミングする必要がある新しいインターンシップを取得しましたが、これまで試したことはありません。私の現在の任務の一部は、顧客エンティティにいくつかの属性を追加することです。これはバックエンドに表示されます。
この時点で、バックエンドのテキストフィールドである属性を追加できましたが、本当にやりたいことは、事前定義されたオプションを持つ選択ボックスを追加することです。それをしようとすると、Magento が壊れてしまい、すべてを再インストールする必要があります。私は今、壁に頭をぶつけています。
私はこれを経由してやっています。私が作成したモジュールからのインストールスクリプト。
以下にインストール スクリプトを貼り付けましたが、さらにコードが必要な場合はお知らせください。
mysql4-install-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();
?>