我正在尝试将自定义信用卡付款属性保存到两个不同的表中,但我不确定如何执行此操作。
普通信用卡信息保存到两个不同的表中。
我创建了新属性,应将其保存到两个表中。已在两个表上设置了具有正确值的列,但只有在客户下订单时才将其保存到一个“sales_flat_quote_payment”。
我怎样才能将数据保存到两个表中?
我找到了这个参考,但我不确定如何实现它以使其与信用卡属性值一起使用。
http://www.magentocommerce.com/boards/viewthread/19344/P0/
任何人都可以确认这是否有用吗?
<sales_copy_order_payment>
<cc_bankname>
<to_order>*</to_order>
</cc_bankname>
</sales_copy_order_payment>
答案 0 :(得分:2)
您是否配置Magento将新属性从报价转换为订单?如果您从config.xml
模块中查看Mage_Sales
并搜索sales_convert_quote_payment
。您会看到以下内容:
<sales_convert_quote_payment>
<method><to_order_payment>*</to_order_payment></method>
<additional_data><to_order_payment>*</to_order_payment></additional_data>
<additional_information><to_order_payment>*</to_order_payment></additional_information>
<po_number><to_order_payment>*</to_order_payment></po_number>
<cc_type><to_order_payment>*</to_order_payment></cc_type>
<cc_number_enc><to_order_payment>*</to_order_payment></cc_number_enc>
<cc_last4><to_order_payment>*</to_order_payment></cc_last4>
<cc_owner><to_order_payment>*</to_order_payment></cc_owner>
<cc_exp_month><to_order_payment>*</to_order_payment></cc_exp_month>
<cc_exp_year><to_order_payment>*</to_order_payment></cc_exp_year>
<cc_number><to_order_payment>*</to_order_payment></cc_number>
<cc_cid><to_order_payment>*</to_order_payment></cc_cid>
<cc_ss_issue><to_order_payment>*</to_order_payment></cc_ss_issue>
<cc_ss_start_month><to_order_payment>*</to_order_payment></cc_ss_start_month>
<cc_ss_start_year><to_order_payment>*</to_order_payment></cc_ss_start_year>
</sales_convert_quote_payment>
Magento使用这些fieldsets
将数据从实体传输到实体。在这种情况下,从quote_payment
到order_payment
。
由于所有配置XML都合并到一个大的XML堆中,因此您可以从自己的模块config.xml添加其他节点。类似的东西:
<global>
<fieldsets>
<sales_convert_quote_payment>
<your_attribute><to_order_payment>*</to_order_payment></your_attribute>
</sales_convert_quote_payment>
</fieldsets>
</global>
希望这可以帮助你开始。