/** * @inheritDoc */ public function convertToProductOption(DataObject $request) { $options = $request->getOptions(); if (!empty($options) && is_array($options)) { $data = []; foreach ($options as $optionId => $optionValue) { if (is_array($optionValue)) { $optionValue = implode(',', $optionValue); } /** @var CustomOption $option */ $option = $this->customOptionFactory->create(); $option->setOptionId($optionId)->setOptionValue($optionValue); $data[] = $option; } return ['custom_options' => $data]; } return []; }
/** * Update options values * * @param array $options * @return null */ protected function updateOptionsValues(array &$options) { foreach ($options as $optionId => &$optionValue) { /** @var \Magento\Catalog\Model\CustomOptions\CustomOption $option */ $option = $this->customOptionFactory->create(); $option->setOptionId($optionId); if (is_array($optionValue)) { $optionValue = implode(',', $optionValue); } $option->setOptionValue($optionValue); $optionValue = $option; } }