Magento:如何检查是否使用了单页或多页结帐



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

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

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

检查

内容的一种方法是从引号对象检查地址总数

  $quote->getAllAddresses();

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

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

最新更新