我正在尝试向mobile
实体添加属性customer_address
。当我从前端创建用户时,Magento没有保存此属性值,但是当我从admin创建用户时,它可以工作。
以下是代码段
$installer->addAttribute('customer_address','trading2_mobile',array(
'type' => 'varchar',
'label' => 'Mobile 2',
'input' => 'text',
'global' => 1,
'visible' => 1,
'required' => 0,
'visible_on_front' => 1,
));
$trading2_mobile = Mage::getSingleton('eav/config')->getAttribute('customer_address', 'trading2_mobile');
$trading2_mobile->setData('used_in_forms',array('customer_register_address','customer_address_edit','adminhtml_customer_address'))->save();
前端代码
<div class="field">
<label for="mobile2" class="required"><em>*</em><?php echo $this->__('Mobile 2') ?></label>
<div class="input-box">
<input type="text" name="mobile2" id="mobile2" value="<?php echo $this->htmlEscape($this->getFormData()->getTrading2Mobile()) ?>" title="<?php echo $this->__('Mobile 2') ?>" class="input-text required-entry" />
</div>
</div>
答案 0 :(得分:1)
输入字段的名称和id(用于JS验证)属性应为'trading2_mobile':
<input type="text" name="trading2_mobile" id="trading2_mobile" value="<?php echo $this->htmlEscape($this->getFormData()->getTrading2Mobile()) ?>" title="<?php echo $this->__('Mobile 2') ?>" class="input-text required-entry" />