QuoteItem.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Bundle\Model\Plugin;
  7. use Magento\Quote\Model\Quote\Item\ToOrderItem;
  8. use Magento\Sales\Api\Data\OrderItemInterface;
  9. use Magento\Quote\Model\Quote\Item\AbstractItem;
  10. /**
  11. * Plugin for Magento\Quote\Model\Quote\Item\ToOrderItem
  12. */
  13. class QuoteItem
  14. {
  15. /**
  16. * Add bundle attributes to order data
  17. *
  18. * @param ToOrderItem $subject
  19. * @param OrderItemInterface $orderItem
  20. * @param AbstractItem $item
  21. * @param array $data
  22. * @return OrderItemInterface
  23. *
  24. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  25. */
  26. public function afterConvert(ToOrderItem $subject, OrderItemInterface $orderItem, AbstractItem $item, $data = [])
  27. {
  28. if ($attributes = $item->getProduct()->getCustomOption('bundle_selection_attributes')) {
  29. $productOptions = $orderItem->getProductOptions();
  30. $productOptions['bundle_selection_attributes'] = $attributes->getValue();
  31. $orderItem->setProductOptions($productOptions);
  32. }
  33. return $orderItem;
  34. }
  35. }