0

我正在尝试向实体添加一个属性mobilecustomer_address当我从前端创建用户时,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>
4

1 回答 1

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" />
于 2012-07-17T08:03:35.393 回答