发送订单后,Magento如何保存订单产品(在sales_flat_order_item表中)。我需要这些文件,因为我想在数据库中保存正常价格;如果您有特价,Magento只会在有人下订单时将特价保存在数据库中。 或者有没有人知道如何在每个订购产品的数据库中保存正常价格?
答案 0 :(得分:4)
慢慢?小心?用SQL?我小子,我小子。
说实话,是的,你是正确的,订单项目表上存储的唯一数据是客户实际支付的价格(而不是正常价格)。如果要在该表上保存额外数据,请执行以下操作:
现在,您应该在数据库中拥有该数据,并且能够像任何其他列一样正常检索它。希望有所帮助!
谢谢, 乔
答案 1 :(得分:0)
我很好奇为什么你甚至需要将原始价格存储在表格中...当你循环订购商品时,你可以随时查看:
$origPrice = Mage::getModel('catalog/product')->load($item->getProductId())->getData('price');
或者您可以编写自己的模块,在“sales_flat_order_item”中创建新列,或创建自己的表,引用该表中的特定ID。您可以让模块观察订单成功事件,并遍历订单中的所有产品并在数据库中设置值。
就像约瑟夫在上面的评论中所说,你绝不应该修改核心代码。如果您需要进行更改,请编写适当的模块。如果你正在修改核心代码(或者,在我看来,如果你正在创建这个目录:app / code / local / Mage /),那么你做错了。