Exemple #1
0
 /**
  * @param array $data
  * @param CategoryModel $categoryModel
  * @return array
  * @throws ApiException\CustomValidationException
  */
 private function prepareMediaData(array $data, CategoryModel $categoryModel)
 {
     if (!isset($data['media'])) {
         return $data;
     }
     $media = null;
     if (isset($data['media']['link'])) {
         /**@var $media MediaModel */
         $media = $this->getResource('media')->internalCreateMediaByFileLink($data['media']['link']);
     } elseif (!empty($data['media']['mediaId'])) {
         $media = $this->getManager()->find('Shopware\\Models\\Media\\Media', (int) $data['media']['mediaId']);
         if (!$media instanceof MediaModel) {
             throw new ApiException\CustomValidationException(sprintf("Media by mediaId %s not found", $data['media']['mediaId']));
         }
     }
     $categoryModel->setMedia($media);
     unset($data['media']);
     return $data;
 }
 /**
  * {@inheritDoc}
  */
 public function setMedia($media)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMedia', array($media));
     return parent::setMedia($media);
 }