Beispiel #1
0
 /**
  * Get option text
  *
  * @param \XLite\Module\CDev\ProductOptions\Model\OptionGroup $option Option class
  *
  * @return string
  */
 public function getOptionText(\XLite\Module\CDev\ProductOptions\Model\OptionGroup $option)
 {
     $selected = $this->getParam(self::PARAM_SELECTED_OPTIONS);
     return is_array($selected) && isset($selected[$option->getGroupId()]) ? $selected[$option->getGroupId()] : '';
 }
Beispiel #2
0
 /**
  * Update option group 
  * 
  * @param \XLite\Module\CDev\ProductOptions\Model\OptionGroup $model Model
  * @param array                                               $group Group data
  *  
  * @return void
  */
 protected function updateOptionGroup(\XLite\Module\CDev\ProductOptions\Model\OptionGroup $model, array $group)
 {
     $model->setName($group['name']);
     $model->setEnabled(true);
     $ids = array();
     if ($model->getGroupId()) {
         foreach ($model->getOptions() as $option) {
             $ids[$option->getOptionId()] = $option;
         }
     }
     foreach ($group['options'] as $option) {
         $entity = $this->detectOption($model, $option);
         if ($entity) {
             unset($ids[$entity->getOptionId()]);
         } else {
             $entity = $this->createOption($model, $option);
         }
         $this->updateOption($entity, $option);
     }
     foreach ($ids as $option) {
         \XLite\Core\Database::getEM()->remove($option);
         $model->getOptions()->removeElement($option);
     }
 }
Beispiel #3
0
 /**
  * Check - is not option group part of specified exception or not
  *
  * @param array                                               $exception Exception cell
  * @param \XLite\Module\CDev\ProductOptions\Model\OptionGroup $group     Option group
  *
  * @return boolean
  */
 public function isNotPartException(array $exception, \XLite\Module\CDev\ProductOptions\Model\OptionGroup $group)
 {
     return !isset($exception[$group->getGroupId()]);
 }
Beispiel #4
0
 /**
  * Get option group link
  *
  * @param \XLite\Module\CDev\ProductOptions\Model\OptionGroup $option Option group
  *
  * @return string
  */
 public function getOptionGroupLink(\XLite\Module\CDev\ProductOptions\Model\OptionGroup $option)
 {
     return $this->buildURL('product', '', array('page' => 'product_options', 'product_id' => $this->getProductId(), 'groupId' => $option->getGroupId(), 'language' => \XLite\Core\Request::getInstance()->language));
 }