From e4b7553bea3867a8a9f0fdfba68b6a4c7ff6eff9 Mon Sep 17 00:00:00 2001
From: Kevin Ditscheid <kevin.ditscheid@sgalinski.de>
Date: Mon, 25 Jul 2022 10:17:06 +0200
Subject: [PATCH] [BUGFIX] Abbort rendering Related news if news argument is
 not of type News

(cherry picked from commit 687abd41fc61ae3a5dc3f2bb36f5a2156105c7e5)
---
 Classes/ViewHelpers/RelatedViewHelper.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Classes/ViewHelpers/RelatedViewHelper.php b/Classes/ViewHelpers/RelatedViewHelper.php
index 69b8e78..b112b16 100644
--- a/Classes/ViewHelpers/RelatedViewHelper.php
+++ b/Classes/ViewHelpers/RelatedViewHelper.php
@@ -2,6 +2,7 @@
 
 namespace SGalinski\SgNews\ViewHelpers;
 
+use SGalinski\SgNews\Domain\Model\News;
 use SGalinski\SgNews\Domain\Repository\CategoryRepository;
 use SGalinski\SgNews\Domain\Repository\NewsRepository;
 use SGalinski\SgNews\Domain\Service\NewsService;
@@ -27,7 +28,7 @@ class RelatedViewHelper extends AbstractViewHelper {
 	public function initializeArguments() {
 		$this->registerArgument(
 			'news',
-			'SGalinski\SgNews\Domain\Model\News',
+			News::class,
 			'The news record from which to find related news',
 			TRUE
 		);
@@ -74,6 +75,10 @@ class RelatedViewHelper extends AbstractViewHelper {
 		$categoryRepository = GeneralUtility::makeInstance(CategoryRepository::class);
 		$templateVariableContainer = $renderingContext->getVariableProvider();
 		$news = $arguments['news'];
+		if (!($news instanceof News)) {
+			return '';
+		}
+
 		$newsRepository = GeneralUtility::makeInstance(NewsRepository::class);
 		if ($arguments['relatedNews']) {
 			$related = $arguments['relatedNews'];
-- 
GitLab