Magento从单独的数据库表中提取地址,以便在创建帐户时保存在客户数据下

时间:2013-09-26 19:26:38

标签: php magento

我的客户帐户注册中有一个额外的字段,客户可以从我们的数据库中选择他们所属的美国学校。我们希望在创建客户帐户时将学校地址填充到客户数据中。

我已通过local.xml中的以下xml打开了客户帐户创建中的地址字段。我暂时在register.phtml模板中注释了这些字段。我将以这种方式发布地址,但如果我想在客户帐户中添加多个地址,我将如何在注册过程中添加更多地址?

<customer_account_create>
        <reference name="customer_form_register">
            <action method="setShowAddressFields"><value>true</value></action>
        </reference>
</customer_account_create>

要进行ajax调用以获取学校地址,然后在以下隐藏字段中附加适用的值。同样,我经常需要发布多个地址。

<?php if($this->getShowAddressFields()): ?>
        <input type="hidden" name="create_address" value="1" />
        <input type="hidden" name="company" id="company" value="" title="<?php echo $this->__('Company') ?>" />
        <input type="hidden" name="telephone" id="telephone" value="" title="<?php echo $this->__('Telephone') ?>" />
        <input type="hidden" name="street[]" value="" title="<?php echo $this->__('Street Address') ?>" id="street_1" />
        <input type="hidden" name="street[]" value="" title="<?php echo $this->__('Street Address 2') ?>" id="street_2" />
        <input type="hidden" name="city" value="" title="<?php echo $this->__('City') ?>" id="city" />
        <input type="hidden" id="region_customer_id" name="region_cait_id" title="<?php echo $this->__('State/Province') ?>">
        <input type="hidden" id="region" name="region" value="" title="<?php echo $this->__('State/Province') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
        <input type="hidden" name="postcode" value="<?php echo $this->escapeHtml($this->getFormData()->getPostcode()) ?>" title="<?php echo $this->__('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
        <input type="hidden" name="default_billing" value="1" />
        <input type="hidden" name="default_shipping" value="1" />
    <?php endif; ?>

如果我需要创建一个模块:我应该挂钩什么事件?如何将地址保存到客户数据中?我将需要在客户帐户创建表单上发布的值。

1 个答案:

答案 0 :(得分:0)

拉出事件

customer_register_success event

Create an event As in SITE