Ejemplo n.º 1
0
 /**
  * @param Option $option
  * @param OptionModel $optionModel
  * @return OptionModel
  */
 public function getModelFromData(Option $option, OptionModel $optionModel)
 {
     $newOptionModel = $this->optionFactory->create();
     $newOptionModel->setData($optionModel->getData())->addData($option->__toArray())->setId($optionModel->getId())->setDefaultTitle(is_null($option->getTitle()) ? $optionModel->getTitle() : $option->getTitle());
     return $newOptionModel;
 }
Ejemplo n.º 2
0
 /**
  * Get formed data from selections of option
  *
  * @param Option $option
  * @param Product $product
  * @return array
  */
 private function getSelections(Option $option, Product $product)
 {
     $selections = [];
     $selectionCount = count($option->getSelections());
     foreach ($option->getSelections() as $selectionItem) {
         /* @var $selectionItem Product */
         $selectionId = $selectionItem->getSelectionId();
         $selections[$selectionId] = $this->getSelectionItemData($product, $selectionItem);
         if (($selectionItem->getIsDefault() || $selectionCount == 1 && $option->getRequired()) && $selectionItem->isSalable()) {
             $this->selectedOptions[$option->getId()][] = $selectionId;
         }
     }
     return $selections;
 }