如何将自定义表中的所有订单位置数据与Magento默认表一起保存?

时间:2012-03-11 14:28:43

标签: php mysql database magento customization

在Magento中,一旦客户下订单,该数据自动转到Sales_flat_order表或项目相关信息转到sales_flat_order_item表等。  同样,我在Magento数据库和数据库中选择了一些列。在Magento数据库中创建了1个自定义表。  现在我的要求是,一旦客户下订单,数据也必须与Magento的默认表一起复制到自定义表。

因此,我通过连接创建了一个mysql查询,它将从Magento表中获取所有需要的数据。将其插入我的自定义表格....  现在我打算创建包含上述查询的php文件。

我怀疑的是&我应该在哪里更改我的Magento代码,以便一旦客户下订单,我将调用此文件,以便我可以通过该查询复制自定义表中的数据。  我得到一些参考,当客户下订单时,它将使用在Checkout / Model / Type / Onepage.php的Onepage模型中的saveOrder函数

所以有人可以告诉我在这种情况下我究竟需要做什么......任何人都有这样的场景或示例代码...  或者有任何其他想法......

Plz指导我...

谢谢..

3 个答案:

答案 0 :(得分:1)

您可以在this answer上关注我的提示,但要观察checkout_type_onepage_save_order_after事件。

答案 1 :(得分:1)

为什么不使用MySQL触发器?

# target table name target_table
# source table name Sales_flat_order table

DELIMITER $$
CREATE TRIGGER ON_INSERT_AFTER_SALES
AFTER INSERT ON Sales_flat_order
FOR EACH ROW
BEGIN
   INSERT INTO target_table VALUES(field_one,field_two,...);
END $$
DELIMITER;

答案 2 :(得分:0)

您可以使用magento的 sales_order_place_after 事件,为此创建一个观察者并将代码放入其中。