This commit is contained in:
Jürgen Mummert
2025-12-23 12:38:14 +01:00
parent 872a242794
commit 21708dac75
2 changed files with 13 additions and 10 deletions
+3
View File
@@ -10,3 +10,6 @@ services:
tags: tags:
- { name: contao.hook, hook: indexPage, method: onIndexPage } - { name: contao.hook, hook: indexPage, method: onIndexPage }
MummertMedia\ContaoMeilisearchBundle\Service\MeilisearchImageHelper:
arguments:
$imageStudio: '@contao.image.studio'
+10 -10
View File
@@ -4,12 +4,11 @@ namespace MummertMedia\ContaoMeilisearchBundle\Service;
use Contao\Config; use Contao\Config;
use Contao\FilesModel; use Contao\FilesModel;
use Contao\Image\Studio;
class MeilisearchImageHelper class MeilisearchImageHelper
{ {
public function __construct( public function __construct(
private readonly Studio $imageStudio, private readonly $imageStudio
) {} ) {}
public function getImagePathFromUuid(string $uuid): ?string public function getImagePathFromUuid(string $uuid): ?string
@@ -20,24 +19,25 @@ class MeilisearchImageHelper
return null; return null;
} }
$path = $file->path; // SVG → nicht skalieren
if (str_ends_with(strtolower($file->path), '.svg')) {
// SVG → niemals skalieren return '/' . ltrim($file->path, '/');
if (str_ends_with(strtolower($path), '.svg')) {
return '/' . ltrim($path, '/');
} }
$sizeId = (int) Config::get('meilisearch_imagesize'); $sizeId = (int) Config::get('meilisearch_imagesize');
if ($sizeId <= 0) { if ($sizeId <= 0) {
return '/' . ltrim($path, '/'); return '/' . ltrim($file->path, '/');
} }
$figure = $this->imageStudio $figure = $this->imageStudio
->createFigure($uuid) ->createFigureBuilder()
->fromUuid($uuid)
->setSize($sizeId) ->setSize($sizeId)
->build(); ->build();
return $figure?->getImage()?->getSrc() ?? null; $image = $figure->getImage();
return $image ? $image->getImageSrc() : null;
} }
} }