diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml index a38974b..ebf79c3 100644 --- a/src/Resources/config/services.yaml +++ b/src/Resources/config/services.yaml @@ -10,3 +10,6 @@ services: tags: - { name: contao.hook, hook: indexPage, method: onIndexPage } + MummertMedia\ContaoMeilisearchBundle\Service\MeilisearchImageHelper: + arguments: + $imageStudio: '@contao.image.studio' \ No newline at end of file diff --git a/src/Service/MeilisearchImageHelper.php b/src/Service/MeilisearchImageHelper.php index 1917de2..46a914e 100644 --- a/src/Service/MeilisearchImageHelper.php +++ b/src/Service/MeilisearchImageHelper.php @@ -4,12 +4,11 @@ namespace MummertMedia\ContaoMeilisearchBundle\Service; use Contao\Config; use Contao\FilesModel; -use Contao\Image\Studio; class MeilisearchImageHelper { public function __construct( - private readonly Studio $imageStudio, + private readonly $imageStudio ) {} public function getImagePathFromUuid(string $uuid): ?string @@ -20,24 +19,25 @@ class MeilisearchImageHelper return null; } - $path = $file->path; - - // SVG → niemals skalieren - if (str_ends_with(strtolower($path), '.svg')) { - return '/' . ltrim($path, '/'); + // SVG → nicht skalieren + if (str_ends_with(strtolower($file->path), '.svg')) { + return '/' . ltrim($file->path, '/'); } $sizeId = (int) Config::get('meilisearch_imagesize'); if ($sizeId <= 0) { - return '/' . ltrim($path, '/'); + return '/' . ltrim($file->path, '/'); } $figure = $this->imageStudio - ->createFigure($uuid) + ->createFigureBuilder() + ->fromUuid($uuid) ->setSize($sizeId) ->build(); - return $figure?->getImage()?->getSrc() ?? null; + $image = $figure->getImage(); + + return $image ? $image->getImageSrc() : null; } } \ No newline at end of file