From 04f63ff4848cbb5cee6b1c1a4fc654f2f24e5927 Mon Sep 17 00:00:00 2001 From: John Flatness Date: Fri, 29 Mar 2024 15:12:21 -0400 Subject: [PATCH] Implement "thumbnail only" for merged media block --- application/src/Site/BlockLayout/Media.php | 1 + .../view/common/block-layout/file.phtml | 28 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/application/src/Site/BlockLayout/Media.php b/application/src/Site/BlockLayout/Media.php index 01c197a62..6cd206e64 100644 --- a/application/src/Site/BlockLayout/Media.php +++ b/application/src/Site/BlockLayout/Media.php @@ -98,6 +98,7 @@ public function render(PhpRenderer $view, SitePageBlockRepresentation $block, $t 'link' => $linkType, 'showTitleOption' => $showTitleOption, 'classes' => $classes, + 'mediaDisplay' => $mediaDisplay, ]); } } diff --git a/application/view/common/block-layout/file.phtml b/application/view/common/block-layout/file.phtml index 66166d315..9d255f005 100644 --- a/application/view/common/block-layout/file.phtml +++ b/application/view/common/block-layout/file.phtml @@ -1,3 +1,6 @@ +plugin('hyperlink'); +?>
item(); ?> @@ -5,10 +8,27 @@ media() ?: $item->primaryMedia(); if ($media): - echo $media->render([ - 'thumbnailType' => $thumbnailType, - 'link' => $link, - ]); + if ($mediaDisplay === 'thumbnail') { + switch ($link) { + case 'original': + $url = $media->originalUrl(); + break; + case 'item': + $url = $item->url(); + break; + case 'media': + $url = $media->url(); + break; + default: + throw new \InvalidArgumentException(sprintf('Invalid link type "%s"', $linkType)); + } + echo $hyperlink->raw($this->thumbnail($media, $thumbnailType), $url); + } else { + echo $media->render([ + 'thumbnailType' => $thumbnailType, + 'link' => $link, + ]); + } endif; ?>