在Magento中,一旦客户下订单,该数据自动转到Sales_flat_order表或项目相关信息转到sales_flat_order_item表等。 同样,我在Magento数据库和数据库中选择了一些列。在Magento数据库中创建了1个自定义表。 现在我的要求是,一旦客户下订单,数据也必须与Magento的默认表一起复制到自定义表。
因此,我通过连接创建了一个mysql查询,它将从Magento表中获取所有需要的数据。将其插入我的自定义表格.... 现在我打算创建包含上述查询的php文件。
我怀疑的是&我应该在哪里更改我的Magento代码,以便一旦客户下订单,我将调用此文件,以便我可以通过该查询复制自定义表中的数据。 我得到一些参考,当客户下订单时,它将使用在Checkout / Model / Type / Onepage.php的Onepage模型中的saveOrder函数
所以有人可以告诉我在这种情况下我究竟需要做什么......任何人都有这样的场景或示例代码... 或者有任何其他想法......
Plz指导我...
谢谢..
答案 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 事件,为此创建一个观察者并将代码放入其中。