我有一个附加到completeOrder事件的触发器,因此通过$ observer对象,我可以获取报价和当前订单。
问题是 - 如何以100%的准确度检查用户是使用单页结账还是多页结账?
如果他使用多页,则会创建2个或更多订单,我的触发器会运行几次。
检查内容的一种方法是检查引用对象的地址总数
$quote->getAllAddresses();
所以,如果它有超过2个地址(超过1个计费和1个发货),那么它是多页,否则是一页。 问题是如果通过多页结帐流程,其中一个订单是虚拟的,另一个订单是常规订单。虚拟订单没有地址,因此在这种情况下我的条件不起作用。
答案 0 :(得分:0)
如果您可以获得当前订单,则获取订单报价对象
然后,您可以使用$quote->getIsMultiShipping()