diff --git a/config/core_areas/linkList.yaml b/config/core_areas/linkList.yaml index 52656ae6..312471a2 100644 --- a/config/core_areas/linkList.yaml +++ b/config/core_areas/linkList.yaml @@ -19,6 +19,7 @@ toolbox: children: linklist: type: link + property_normalizer: ToolboxBundle\Normalizer\LinkNormalizer title: 'Link' config: - class: 'list-link' + class: 'list-link' \ No newline at end of file diff --git a/config/services/normalizer.yaml b/config/services/normalizer.yaml index 10315812..cb30b6ab 100644 --- a/config/services/normalizer.yaml +++ b/config/services/normalizer.yaml @@ -14,5 +14,9 @@ services: - { name: toolbox.property.normalizer } ToolboxBundle\Normalizer\ImageEditableNormalizer: + tags: + - { name: toolbox.property.normalizer } + + ToolboxBundle\Normalizer\LinkNormalizer: tags: - { name: toolbox.property.normalizer } \ No newline at end of file diff --git a/src/Normalizer/DownloadRelationsNormalizer.php b/src/Normalizer/DownloadRelationsNormalizer.php index b582a72f..983abac3 100644 --- a/src/Normalizer/DownloadRelationsNormalizer.php +++ b/src/Normalizer/DownloadRelationsNormalizer.php @@ -19,7 +19,14 @@ public function normalize(mixed $value, ?string $toolboxContextId = null): mixed $normalizedData = []; foreach ($value as $asset) { - $normalizedData[] = $this->downloadInfoService->getDownloadInfo($asset, true, 'optimized'); + + $normalizedDownloadInfo = $this->downloadInfoService->getDownloadInfo($asset, true, 'optimized'); + + if (array_key_exists('previewImage', $normalizedDownloadInfo)) { + unset($normalizedDownloadInfo['previewImage']); + } + + $normalizedData[] = $normalizedDownloadInfo; } return $normalizedData; diff --git a/src/Normalizer/LinkNormalizer.php b/src/Normalizer/LinkNormalizer.php new file mode 100644 index 00000000..5266c00b --- /dev/null +++ b/src/Normalizer/LinkNormalizer.php @@ -0,0 +1,28 @@ + $value->getHref(), + 'data' => $value->getData() + ]; + } +} diff --git a/src/Service/AssetService.php b/src/Service/AssetService.php index fb469d7c..1fe3ace4 100644 --- a/src/Service/AssetService.php +++ b/src/Service/AssetService.php @@ -34,7 +34,7 @@ public function generateImageThumbnail(Asset\Image $asset, ?string $thumbnailNam private function buildAssetData(?Asset\Image $asset, ?Image\Thumbnail $thumbnail, array $options): array { - if(!$asset instanceof Asset\Image) { + if (!$asset instanceof Asset\Image) { return []; } @@ -97,7 +97,6 @@ private function parseThumbnailPictureList(Asset\Image\Thumbnail $thumbnail, arr } return $data; - } private function getSourceTagAttributes(Asset\Image\Thumbnail $thumbnail, Config $thumbConfig, mixed $mediaQuery, Image $image, array $options): array @@ -150,7 +149,7 @@ private function getSrcset(string $fileName, Config $thumbConfig, Image $image, } $thumbConfigRes->setHighResolution($highRes); - $thumb = $image->getThumbnail($thumbConfigRes, true); + $thumb = $image->getThumbnail($thumbConfigRes, true)->getPath(); $descriptor = $highRes . 'x'; // encode comma in thumbnail path as srcset is a comma separated list