我已经遵循了一些建议,要将一些数据从一个表复制到数据库上的另一个表,但它不起作用。
根据我在此问题上收到的回复:Magento: How to save data to order_payment and quote_payment
我尝试在Mage / Sales / etc / Config.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表?
我遇到了与我创建的新手机号码属性相同的问题,但我相信如果我能解决这个问题,那么我应该能够处理所有其他类似问题。
答案 0 :(得分:0)
该技术(使用与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
- &gt;在这里定义你的新配置
在旧版magento中,销售订单以eav类型存储。
在更高版本中,它已经变平了。
查看名称:sales_flat_quote_payment
,sales_flat_order_payment
Magento始终保持其数据向后兼容,这就是cc_owner
中属性名称为eav_attribute
的原因。
在您的情况下,您无需在eav_attribute
中创建新值(只需在cc_bankname
和sales_flat_quote_payment
中添加列sales_flat_order_payment
即可很确定你已经创建了。)
正如您之前所说,未将其保存到sales_flat_order_payment
的问题是由于缓存问题(Magento缓存了config.xml,因此您需要刷新它System > Cache Management > Configuration
)