/** * 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()] : ''; }
/** * 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); } }
/** * 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()]); }
/** * 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)); }