0

我有一个附加到 completeOrder 事件的触发器,所以通过 $observer 对象我可以获取报价和当前订单。

问题是 - 我如何才能 100% 准确地检查用户是使用单页结帐还是多页结帐?

如果他使用多页,则将创建 2 个或更多订单,并且我的触发器将运行几次。

检查东西的一种方法是检查报价对象的地址总数

  $quote->getAllAddresses();

因此,如果它有超过 2 个地址(不仅仅是 1 个帐单和 1 个运输),那么它是多页的,否则是一页的。问题是如果通过多页结账流程,其中一个订单是虚拟的,而另一个是常规的。虚拟订单没有地址,所以我的条件在这种情况下不起作用。

4

1 回答 1

1

如果您可以获取当前订单,则获取订单报价对象。
然后你可以使用$quote->getIsMultiShipping()

于 2012-06-12T09:27:38.890 回答