Magento向Checkout添加地址属性

时间:2013-07-13 10:54:43

标签: magento magento-1.7

我使用这个出色的网站建立了我自己的Magento模块,其中包含额外的客户地址字段; http://silksoftware.com/magento-module-creator

我创建了一个名为“mycarmake”的新客户地址属性。我可以在管理面板中查看,编辑和保存属性,没问题。

但是我在将其添加到结帐时遇到了更多麻烦。我已将此字段添加到app / design / default / TEMPLATE_NAME / persistent / checkout / onepage / billing.phtml但它不会保存到客户地址记录 - 有人可以给我一个指针,说明它为什么不起作用吗?

<!-- add fields here -->
<li class="fields">
<div class="field">
<label for="billing:mycarmake"><?php echo $this->__('My Car Make') ?></label>
<div class="input-box">
<input type="text" id="billing[mycarmake]" name="billing[mycarmake]" value="<?php echo $this->htmlEscape($this->getAddress()->getMycarmake()) ?>" title="<?php echo $this->__('My Car Make') ?>" class="input-text" />
</div>
</div>
</li>
<!-- end add fields here -->

我还将此添加到我的模块的etc / config.xml中;

</resources>

<fieldsets>
        <sales_copy_order_billing_address>
            <mycarmake><to_order>*</to_order></mycarmake>
        </sales_copy_order_billing_address>
        <sales_copy_order_shipping_address>
            <mycarmake><to_order>*</to_order></mycarmake>
        </sales_copy_order_shipping_address>
        <sales_convert_quote_address>
            <mycarmake><to_order_address>*</to_order_address><to_customer_address>*</to_customer_address></mycarmake>
        </sales_convert_quote_address>
        <sales_convert_order_address>
            <mycarmake><to_quote_address>*</to_quote_address></mycarmake>
        </sales_convert_order_address>
        <customer_address>
            <mycarmake><to_quote_address>*</to_quote_address></mycarmake>
        </customer_address>
        <checkout_onepage_billing>
            <mycarmake><to_customer>*</to_customer></mycarmake>
        </checkout_onepage_billing>
    </fieldsets>

 

2 个答案:

答案 0 :(得分:0)

管理员&gt;客户&gt;属性&gt;管理客户地址属性

查看 mycarmake 属性,确保在前端显示设置为Yes

答案 1 :(得分:0)

以下代码将向billing.phtml文件添加文本字段。如果您使用的是magento 1.6( - ),则需要编辑文件checkout/onepage/billing.phtml,使用magento 1.6(+)的文件persistent/checkout/onepage/billing.phtml。打开phtml文件,找到代码

<?php if ($this->canShip()): ?> 

并在该行上方添加以下内容

<li class="fields">

<div class="field">

<label for="billing:ssn" class="required"><em>*</em><?php echo $this->__('SSN') ?></label>

<div class="input-box">

<input type="text" name="custom[ssn]" value="<?php echo $this->htmlEscape($this->getQuote()->getSsn()) ?>" title="<?php echo $this->__('SSN') ?>" class="input-text required-entry" id="billing:ssn" />

</div>

</div>

</li>

希望它能解决您的问题。