我是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', 'resale', array(
'input' => 'text',
'type' => 'varchar',
'label' => 'Resale number',
'visible' => 1,
'required' => 1,
'user_defined' => 1,
));
$setup->addAttributeToGroup(
$entityTypeId,
$attributeSetId,
$attributeGroupId,
'resale',
'999' //sort_order
);
$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'resale');
$oAttribute->setData('used_in_forms', array('adminhtml_customer','customer_account_create'));
$oAttribute->save();
$installer->endSetup();
谢谢。
答案 0 :(得分:1)
您应该向register.html添加代码,如下所示:
<div class="field">
<label for="my_attribute" class="required"><em>*</em><?php echo $this->__('My Attribute') ?></label>
<div class="input-box">
<input type="text" name="my_attribute" id="my_attribute" value="<?php echo $this->htmlEscape($this->getFormData()->getMyAttribute()) ?>" title="<?php echo $this->__('My Attribute') ?>" class="input-text required-entry" />
</div>
</div>