Magento自定义客户地址属性不保存
问题描述:
我想添加一个属性mobile
到customer_address
实体。当我从前端创建用户时,Magento没有保存这个属性值,但是当我从admin创建用户时它的工作原理。Magento自定义客户地址属性不保存
下面是代码片段
$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>
答
名称和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" />