예제 #1
0
 /**
  * Converts a configurator option struct which used for default or selection configurators.
  *
  * @param StoreFrontBundle\Struct\Configurator\Group $group
  * @param StoreFrontBundle\Struct\Configurator\Option $option
  * @return array
  */
 public function convertConfiguratorOptionStruct(StoreFrontBundle\Struct\Configurator\Group $group, StoreFrontBundle\Struct\Configurator\Option $option)
 {
     $data = array('optionID' => $option->getId(), 'groupID' => $group->getId(), 'optionname' => $option->getName(), 'user_selected' => $option->isSelected(), 'selected' => $option->isSelected(), 'selectable' => $option->getActive());
     if ($option->getMedia()) {
         $data['media'] = $this->convertMediaStruct($option->getMedia());
     }
     return $data;
 }
예제 #2
0
 /**
  * Checks if the passed combination is compatible with the provided customer configurator
  * selection.
  *
  * @param \Shopware\Bundle\StoreFrontBundle\Struct\Configurator\Group $group
  * @param array $combinations
  * @param $selection
  * @return bool
  */
 private function isCombinationValid(Struct\Configurator\Group $group, $combinations, $selection)
 {
     if (empty($combinations)) {
         return false;
     }
     foreach ($selection as $selectedGroup => $selectedOption) {
         if (!in_array($selectedOption, $combinations) && $selectedGroup !== $group->getId()) {
             return false;
         }
     }
     return true;
 }