Example #1
0
 /**
  * Return SKU for selected option
  *
  * @param string $optionValue Prepared for cart option value
  * @param string $skuDelimiter Delimiter for Sku parts
  * @return string
  */
 public function getOptionSku($optionValue, $skuDelimiter)
 {
     $option = $this->getOption();
     if (!$this->_isSingleSelection()) {
         $skus = [];
         foreach (explode(',', $optionValue) as $value) {
             $optionSku = $option->getValueById($value);
             if ($optionSku) {
                 $skus[] = $optionSku->getSku();
             } else {
                 if ($this->getListener()) {
                     $this->getListener()->setHasError(true)->setMessage($this->_getWrongConfigurationMessage());
                     break;
                 }
             }
         }
         $result = implode($skuDelimiter, $skus);
     } elseif ($this->_isSingleSelection()) {
         $result = $option->getValueById($optionValue);
         if ($result) {
             return $result->getSku();
         } else {
             if ($this->getListener()) {
                 $this->getListener()->setHasError(true)->setMessage($this->_getWrongConfigurationMessage());
             }
             return '';
         }
     } else {
         $result = parent::getOptionSku($optionValue, $skuDelimiter);
     }
     return $result;
 }