我需要在注册页面上有一个新的下拉菜单,比如马根托的州/省。是否有重复此项并在数据库中添加其他值?
谢谢
<div class="field">
<label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
<div class="input-box">
<select id="region_id" name="region_id" title="<?php echo Mage::helper('core')->quoteEscape($this->__('State/Province')) ?>" class="validate-select" style="display:none;">
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
</select>
<script type="text/javascript">
//<![CDATA[
$('region_id').setAttribute('defaultValue', "<?php echo $this->getFormData()->getRegionId() ?>");
//]]>
</script>
<input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getRegion()) ?>" title="<?php echo Mage::helper('core')->quoteEscape($this->__('State/Province')) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
</div>
</div>
客户(个人)数据和客户地址数据的处理在Magento中是分开的。在注册页面上,客户应只输入创建帐户所需的最少信息。在客户获得帐户并登录后,他可以通过适当的状态下拉列表添加发货/账单地址。
因此,如果您在注册页面上创建状态下拉列表,则没有可以将此值保存到的地址,因为客户对象没有任何状态字段。。。只有尚未创建的客户地址对象。
更新:如果你迫切需要注册页面上的下拉列表,你需要编写自己的模块,以及将其保存到数据库、创建新地址等的所有逻辑。
更新2:文件app/design/frontend/base/default/template/customer/form/register.phtml
中有一个很好的示例,向您展示了如何创建状态下拉列表。