Magento 2 - 将订单分为两部分

时间:2017-07-10 04:47:32

标签: magento2

我正在尝试制作一项功能,将订单拆分为2,在我的自定义模块中有2个不同的卖方商品

您是否知道如何以编程方式进行此操作?

2 个答案:

答案 0 :(得分:1)

参考链接split orders in magento

参考链接Magento - 2

答案 1 :(得分:0)

可以按卖家属性拆分订单。您只需要使用placeOrder动作插件拦截around函数。 在那里,您可以将所有商品映射到购物车,并为您想要的每种产品创建新订单。 请参考(在这种情况下,按产品SKU getSku拆分,您可以更改任何属性):

public function aroundPlaceOrder(
    \Magento\Quote\Model\QuoteManagement $subject,
    callable $proceed,
    $cartId,
    $paymentMethod = null
) {
    $quote = $this->quoteRepository->getActive($cartId);

    $quotes = [];
    foreach ($quote->getAllVisibleItems() as $item) {
        $quotes[$item->getProduct()->getSku()][] = $item;
    }

    foreach ($quotes as $groups => $items) {
    ...

另外,你可以看看这里: https://github.com/magestat/magento2-split-order/blob/develop/Plugin/SplitQuote.php

谢谢!