Magento - 客户地址中的自定义属性,未在结帐时复制到sales_flat_order_address和sales_flat_quote_address

问题描述:

我在客户地址中创建了新的属性“县”。它工作正常,我可以从前端保存这个字段的值。Magento - 客户地址中的自定义属性,未在结帐时复制到sales_flat_order_address和sales_flat_quote_address

我希望这个字段在订单地址中可用。 所以我的表

“sales_flat_quote_address”和“sales_flat_order_address”

然后,我已经修改了销售的/ etc/config.xml中添加中列“县”以包括字段集此字段。我在

sales_copy_order_billing_address,
sales_copy_order_shipping_address,
sales_convert_quote_address,
sales_convert_order_address,
customer_address添加条目本场

但是当我做onepage结账时,在此字段中的值没有复制到订单中的地址。在结帐和结算地址过程中,我正在此字段中选择一个有价值的现有地址。

现在,我在结帐时没有编辑任何模板文件以包含此字段。但是,当我选择一个现有地址时,这不应该导致问题,对吧?

我使用的是magento 1.5.1.0。虽然我很熟悉php,但我是一个magento的新手。

我检查了问题Magento: save custom address attribute in checkout,并且已经完成了答案中给出的所有内容。

我错过了什么。如果是这样,请提供您的建议。 谢谢。

我已经得到它的工作。我不必添加任何其他东西。

的问题是,我从应用程序/代码/ 核心复制的config.xml /法师/销售/等,以应用程序/代码/ 当地 /法师/销售/等,并在新的让我改变一。

当我在原始config.xml文件本身中进行了更改并进行了测试后,自定义字段值在结帐时被复制到了订单地址。

谢谢。

您是否清除/禁用了缓存? 也不要修改核心配置文件,更好地创建模块并扩展自己的现场设备

+0

是的,我清除缓存后尝试过。现在我正在修改核心文件。如果有效,那么我将扩展模块并在那里进行更改。谢谢。 – air4x

您是否检出了Sales/etc中的Config.xml,并查看了“sales_copy_order_billing_address”部分。

这定义哪个列从table1复制到table2中的“映射列”。

因此,将County添加到列表中,无论数据在哪里复制以用于送货地址和帐单地址。

即当如下代码,获取执行XML映射被使用:

Mage::helper('core')->copyFieldset('customer_address', 'to_quote_address', $address, $this); 

第一个参数是“从表列”节点映射,以及所述第二参数是“以表列”映射。

希望这个工程。

试试这个在您的模块的config.xml文件中的一个......

<global> 
... 
    <fieldsets> 
     <customer_address> 
      <county> 
       <to_quote_address>*</to_quote_address> 
       <to_order_address>*</to_order_address> 
      </county> 
     </customer_address> 
    </fieldsets> 
... 
</global> 

确保已两个表(sales_flat_quote_addresssales_flat_order_address)中创建场。

+0

您错过了的结束部分> – Alexandros

+1

谢谢。固定。 –

我已经试过这一点,这是为我工作,请将此XML代码添加到我们的模块config.xml文件

<global> 
     <fieldsets> 
      <sales_convert_quote_address> 
       <govt_id> 
        <to_order_address>*</to_order_address> 
        <to_customer_address>*</to_customer_address> 
       </govt_id> 
      </sales_convert_quote_address> 
      <customer_address> 
       <govt_id> 
        <to_quote_address>*</to_quote_address> 
       </govt_id> 
      </customer_address> 
     </fieldsets> 
    </global>