From f59146dcfe7880953b0249dba0eab86274d8166d Mon Sep 17 00:00:00 2001
From: Matthias Adrowski <matthias.adrowski@sgalinski.de>
Date: Wed, 9 Feb 2022 08:57:51 +0100
Subject: [PATCH] [TASK] Update image handling for latest sg_seo version

---
 Classes/Controller/SingleViewController.php |  2 +-
 Classes/Service/HeaderMetaDataService.php   | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Classes/Controller/SingleViewController.php b/Classes/Controller/SingleViewController.php
index bfece1f..4dd7e5d 100644
--- a/Classes/Controller/SingleViewController.php
+++ b/Classes/Controller/SingleViewController.php
@@ -90,7 +90,7 @@ class SingleViewController extends AbstractController {
 		$newsMetaData = $this->getMetaDataForNews($news, $newsCategory);
 		if (!version_compare(ExtensionManagementUtility::getExtensionVersion('sg_seo'), '5.0.0', '>=')) {
 			if ($newsMetaData['image']) {
-				HeaderMetaDataService::addOgImageToHeader($newsMetaData['image']);
+				HeaderMetaDataService::addOgImageObjectToHeader(isset($newsMetaData['imageObject']) ? $newsMetaData['imageObject']->getOriginalResource(): null);
 			} elseif ($newsMetaData['teaserImage']) {
 				HeaderMetaDataService::addOgImageToHeader($newsMetaData['teaserImage']);
 			}
diff --git a/Classes/Service/HeaderMetaDataService.php b/Classes/Service/HeaderMetaDataService.php
index 807a64f..885f07b 100644
--- a/Classes/Service/HeaderMetaDataService.php
+++ b/Classes/Service/HeaderMetaDataService.php
@@ -44,4 +44,16 @@ class HeaderMetaDataService {
 		$typoScriptController = $GLOBALS['TSFE'];
 		$typoScriptController->page['og_image_path_by_extension'] = $path;
 	}
+
+	/**
+	 * Sets the data for the og:image meta data header tag.
+	 *
+	 * @param FileReference $file
+	 * @return void
+	 */
+	public static function addOgImageObjectToHeader($file): void {
+		/** @var $typoScriptController TypoScriptFrontendController */
+		$typoScriptController = $GLOBALS['TSFE'];
+		$typoScriptController->page['og_image_path_by_extension'] = $file;
+	}
 }
-- 
GitLab