From 96632edf4446405f60a8d933f7d4b3c764a050cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Mon, 26 Oct 2026 10:59:16 +0100 Subject: [PATCH] fix: hotel and product images in the API no longer depend on cache order The image services cached under images-- without the field, so the teaser images (teaser_images, rendered by the frontend) and the full image lists for MyE&P (images, /api/hotel and /api/product) shared one cache entry. Once a page had shown a hotel teaser, the API answered with that single teaser image instead of all images. The field is now part of the key. Co-Authored-By: Claude Opus 5.5 --- packages/ep_products/Classes/Service/AbstractImageService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ep_products/Classes/Service/AbstractImageService.php b/packages/ep_products/Classes/Service/AbstractImageService.php index 98b8314..1deae7b 100644 --- a/packages/ep_products/Classes/Service/AbstractImageService.php +++ b/packages/ep_products/Classes/Service/AbstractImageService.php @@ -41,7 +41,7 @@ abstract class AbstractImageService implements SingletonInterface public function getImages($uid): array { - $key = sprintf('images-%s-%d', $this->table, $uid); + $key = sprintf('images-%s-%s-%d', $this->table, $this->field, $uid); if (false === ($value = $this->cache->get($key))) { $original = $this->fileRepository->findByRelation( $this->table,