我遵循了一些建议,将一些数据从一个表复制到数据库上的另一个表,但它不起作用。
根据我收到的关于这个问题的回复: Magento:如何将数据保存到order_payment和quote_payment
我尝试在法师/销售/等/配置.xml文件上执行以下操作
<sales_convert_order_payment>
<cc_bankname>
<to_quote_payment>cc_bankname</to_quote_payment>
</cc_bankname>
</sales_convert_order_payment>
而这个
<sales_convert_quote_payment>
<cc_bankname>
<to_order_payment>cc_bankname</to_order_payment>
</cc_bankname>
</sales_convert_quote_payment>
但是银行名称仅保存在sales_flat_quote_payment表上,而不是保存在sales_flat_order_payment表上,这是我需要在订单发票和订单/视图下的管理员后端显示此新数据。
如果我在数据库(即银行名称)上手动输入数据,我可以在需要的地方显示此信息,但我无法跟踪每笔交易以在订单完成后手动输入数据,因为客户可以看到他们的订单详细信息一旦汇总,他们将无法查看新数据,直到我自己这样做。
有谁知道为什么数据没有转移到sales_fat_order_payment表中?
我在创建的新手机号码属性中遇到了同样的问题,但我相信如果我能解决这个问题,那么我应该能够处理所有其他类似的问题。
这种技术(使用与Mage相同的名称命名它)不适用于config.xml。它是如何工作的?你需要阅读这篇由Alanstorm撰写的文章 http://alanstorm.com/magento_config_declared_modules_tutorial
你需要通过在app/etc/modules中定义它来创建自己的模块(当然你应该命名它而不是Mage)。
例如: app/etc/modules/Test_Sales.xml
内容:
<?xml version="1.0"?>
<config>
<modules>
<Test_Sales>
<active>true</active>
<codePool>local</codePool>
</Test_Sales>
</modules>
</config>
app/code/local/Test/Sales/etc/config.xml
->在此处定义您的新配置
在旧版本的洋红色中,销售订单以eav类型存储。在更高版本中,它已被扁平化。看名字:sales_flat_quote_payment
,sales_flat_order_payment
Magento始终保持其数据向后兼容,这就是为什么它在eav_attribute
中具有属性名称cc_owner
的原因。
在您的情况下,您不需要在eav_attribute
中创建新值(您只需要在sales_flat_quote_payment
和sales_flat_order_payment
中添加列cc_bankname
,我很确定您已经创建了)。
正如您之前所说,它没有保存到sales_flat_order_payment
的问题是因为缓存问题(Magento缓存配置.xml因此您需要将其刷新System > Cache Management > Configuration