我的自定义模块观察到 sales_order_place_after
事件,并通过设置 customerId
创建客户并将客户与订单相关联为订单。
什么有效?
customerId
在订单数据库中更新 什么不起作用?
customerId
立即设置回 NULL
由另一个脚本 如何找出更新
customerId
的脚本至NULL
再次,在我的观察者完成运行后?
最佳答案
我有同样的问题 - 我的假设是调用 save
订单上的方法触发了正在监听 sales_order_save_before/after
的任何内容事件,其中之一是将客户 ID 设置回 null
.我通过只保存我想要的属性来解决这个问题,而不是触发整个订单的保存:
$order
->setCustomerId($customer->getId())
->setCustomerIsGuest(0)
->setCustomerGroupId($customer->getGroupId());
$order->getResource()
->saveAttribute($order, 'customer_id' )
->saveAttribute($order, 'customer_is_guest')
->saveAttribute($order, 'customer_group_id');
这使我能够使用
sales_model_service_quote_submit_success
成功地将客户与 Magento EE 1.14.3.10 中的订单关联起来。事件。
关于Magento 在下订单后将客户与订单相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50566831/