Magento:在结帐时保存自定义地址属性

Cas*_*Roy 4 php checkout magento

这就是我在我的网站上所做的:Admin-> Customers-> Attributes-> Manage Customer Address Attributes并添加一个新属性,用户可以在他/她的个人资料中看到它,在My Addresses选项下,可以编辑新属性并在创建新地址时保存,我也可以在后端看到它,并进行编辑,直到这里一切正常,我的问题是在结账时,我已经在结算和运输表单中有字段,我想要新的当用户单击"下订单"按钮时要保存的属性,但是,checkout似乎对新属性一无所知,属性未保存,如果我从用户配置文件中保存一个值,则不加载它在该领域.

我能在这做什么?

谢谢

Cas*_*Roy 10

看在Magento的代码和阅读维基之后,我才得以完成后,我的新的属性被保存在配置文件中的地址编辑形式,但是当我在结账的形式进入它没有保留,那是因为我需要覆盖一些magento核心文件,第一步是添加新属性app\code\core\Mage\Customer\etc\config.xml,我复制到app\code\core\Mycompany\Customer\etc\config.xml,因为我的新属性代码是rfc,我找到<fieldsets>条目和

<customer_dataflow>
    ....
    <rfc><billing>1</billing><shipping>1</shipping></rfc>
</customer_dataflow>
Run Code Online (Sandbox Code Playgroud)

现在我需要添加新属性到app\code\core\Mage\Customer\Model\Entity\Setup.php我做同样覆盖,复制到我的本地命名空间,并在getDefaultEntities()我找到的 功能

'customer_address'=>array(
    ....
            'rfc' => array(
            'label'         => 'RFC',
            'required'      => false,
            'sort_order'    => 135,
    ),
)  
Run Code Online (Sandbox Code Playgroud)

现在,我也需要做同样的事app\code\core\Mage\Sales\etc\config.xml,但现在看起来应该是这样的

<sales_copy_order_billing_address>
    .....
    <rfc><to_order>*</to_order></rfc>
</sales_copy_order_billing_address>

<sales_copy_order_shipping_address>
    ......
    <rfc><to_order>*</to_order></rfc>
</sales_copy_order_shipping_address>

<sales_convert_quote_address>
    ........
    <rfc><to_order_address>*</to_order_address><to_customer_address>*</to_customer_address></rfc>
</sales_convert_quote_address>

<sales_convert_order_address>
    .........
    <rfc><to_quote_address>*</to_quote_address></rfc>
</sales_convert_order_address>

<customer_address>
    .......
    <rfc><to_quote_address>*</to_quote_address></rfc>
</customer_address>
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助别人