@@ -113,7 +113,19 @@ private function handleThumbnailService(NodeFinder $nodeFinder, array $ast): voi
113113 } catch (\RuntimeException $ e ) {
114114 if ($ e ->getMessage () === 'Method createThumbnailsForSizes in class Shopware\Core\Content\Media\Thumbnail\ThumbnailService is missing ' ) {
115115 $ generateAndSaveNode = $ this ->getClassMethod ($ nodeFinder , 'generateAndSave ' , $ ast );
116- $ this ->handleGenerateAndSaveNode ($ generateAndSaveNode );
116+
117+ // when the internal 'isSameDimension' method is no longer available, we need to add the 'mediaThumbnailSizeId' field
118+ $ addMediaThumbnailSizeId = true ;
119+ try {
120+ $ this ->getClassMethod ($ nodeFinder , 'isSameDimension ' , $ ast );
121+ $ addMediaThumbnailSizeId = false ;
122+ } catch (\RuntimeException $ e ) {
123+ if ($ e ->getMessage () !== 'Method isSameDimension in class Shopware\Core\Content\Media\Thumbnail\ThumbnailService is missing ' ) {
124+ throw $ e ;
125+ }
126+ }
127+
128+ $ this ->handleGenerateAndSaveNode ($ generateAndSaveNode , $ addMediaThumbnailSizeId );
117129 } else {
118130 throw $ e ;
119131 }
@@ -269,7 +281,7 @@ private function handleCreateThumbnailsForSizes(ClassMethod $createThumbnailsFor
269281 return $savedThumbnails; ' );
270282 }
271283
272- private function handleGenerateAndSaveNode (ClassMethod $ generateAndSaveNode ): void
284+ private function handleGenerateAndSaveNode (ClassMethod $ generateAndSaveNode, bool $ addMediaThumbnailSizeId ): void
273285 {
274286 // we don't need to generate the files, so we just return the array
275287 $ generateAndSaveNode ->stmts = $ this ->getPhpParser ()
@@ -284,15 +296,13 @@ private function handleGenerateAndSaveNode(ClassMethod $generateAndSaveNode): vo
284296 throw MediaException::mediaTypeNotLoaded($media->getId());
285297 }
286298
287- $mapped = [];
288299 foreach ($sizes as $size) {
289300 $id = Uuid::randomHex();
290301
291- $mapped[$size->getId()] = $id;
292-
293302 $records[] = [
294303 \'id \' => $id,
295304 \'mediaId \' => $media->getId(),
305+ ' . ($ addMediaThumbnailSizeId ? '\'mediaThumbnailSizeId \' => $size->getId(), ' : '' ) . '
296306 \'width \' => $size->getWidth(),
297307 \'height \' => $size->getHeight(),
298308 ];
0 commit comments