Magento自定义客户地址属性不保存

时间:2012-07-17 07:01:43

标签: magento

我正在尝试向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>

1 个答案:

答案 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" />