Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
QuoteItemProductOption.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Quote\Model\Quote\Item\ToOrderItem as QuoteToOrderItem;
9 use Magento\Quote\Model\Quote\Item\AbstractItem as AbstractQuoteItem;
11 
16 {
27  public function beforeConvert(
28  QuoteToOrderItem $subject,
29  AbstractQuoteItem $quoteItem,
30  $data = []
31  ) {
32  if (!is_array($quoteItem->getOptions())) {
33  return;
34  }
35 
36  foreach ($quoteItem->getOptions() as $itemOption) {
37  $code = explode('_', $itemOption->getCode());
38 
39  if (!isset($code[1]) || !is_numeric($code[1])) {
40  continue;
41  }
42 
43  $option = $quoteItem->getProduct()->getOptionById($code[1]);
44 
45  if (!$option || $option->getType() != ProductOption::OPTION_TYPE_FILE) {
46  continue;
47  }
48 
49  try {
50  $option->groupFactory($option->getType())
51  ->setQuoteItemOption($itemOption)
52  ->copyQuoteToOrder();
53  } catch (\Exception $e) {
54  continue;
55  }
56  }
57  }
58 }
$quoteItem
Definition: quote.php:38
beforeConvert(QuoteToOrderItem $subject, AbstractQuoteItem $quoteItem, $data=[])
$code
Definition: info.phtml:12