/** * Returns the image variation object for $field/$versionInfo. * * @param \eZ\Publish\API\Repository\Values\Content\Field $field * @param \eZ\Publish\API\Repository\Values\Content\VersionInfo $versionInfo * @param string $variationName * * @return \eZ\Publish\SPI\Variation\Values\Variation */ public function getImageVariation(Field $field, VersionInfo $versionInfo, $variationName) { try { return $this->imageVariationService->getVariation($field, $versionInfo, $variationName); } catch (InvalidVariationException $e) { if (isset($this->logger)) { $this->logger->error("Couldn't get variation '{$variationName}' for image with id {$field->value->id}"); } } catch (SourceImageNotFoundException $e) { if (isset($this->logger)) { $this->logger->error("Couldn't create variation '{$variationName}' for image with id {$field->value->id} because source image can't be found"); } } }
/** * Get the Variation of the Image ( medium ) * * @param mixed $value * @param string $identifier * @param string $languageCode * @param string $variationName * * @return string */ protected function getVariation($value, $identifier, $languageCode, $variationName) { // @todo: I don't know how to do differently here... $field = new Field(['value' => $value, 'fieldDefIdentifier' => $identifier, 'languageCode' => $languageCode]); $variation = $this->imageVariationService->getVariation($field, new VersionInfo(), $variationName); return $variation->uri; }
/** * Returns the image variation object for $field/$versionInfo. * * @param \Netgen\EzPlatformSiteApi\API\Values\Field $field * @param string $variationName * * @return \eZ\Publish\SPI\Variation\Values\Variation */ public function getImageVariation(Field $field, $variationName) { try { return $this->imageVariationService->getVariation($field->innerField, $field->content->versionInfo, $variationName); } catch (InvalidVariationException $e) { if (isset($this->logger)) { $this->logger->error("Couldn't get variation '{$variationName}' for image with id {$field->value->id}"); } } catch (SourceImageNotFoundException $e) { if (isset($this->logger)) { $this->logger->error("Couldn't create variation '{$variationName}' for image with id {$field->value->id} because source image can't be found"); } } catch (InvalidArgumentException $e) { if (isset($this->logger)) { $this->logger->error("Couldn't create variation '{$variationName}' for image with id {$field->value->id} because an image could not be created from the given input"); } } }
protected function getVariation($content, $variationName) { foreach ($content->getFields() as $field) { if ($field->fieldDefIdentifier === self::$imageFieldIdentifier) { $imageField = $field; } } if (!isset($field)) { throw new Exception("Image field not found"); } return $this->imageVariationHandler->getVariation($imageField, $content->versionInfo, $variationName); }