From cf749330ebc8516fb9724f1da28c401049f6f7c9 Mon Sep 17 00:00:00 2001 From: Kevin Appelt <kevin.appelt@icloud.com> Date: Thu, 13 Jun 2024 16:06:31 +0200 Subject: [PATCH] [BUGFIX] Check open graph to decide if twitter:card should be added Resolves: #104097 Related: #101621 Releases: main Change-Id: Ib7265a64477dd99f4c511eb859e7e4859564c3cd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84700 Tested-by: Garvin Hicking <gh@faktor-e.de> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Garvin Hicking <gh@faktor-e.de> Tested-by: core-ci <typo3@b13.com> --- ...rtant-101621-ChangedDefaultValueForTwitter_cardField.rst | 3 +++ typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst b/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst index 8b0afadfc8a9..8bec27f5564e 100644 --- a/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst +++ b/typo3/sysext/core/Documentation/Changelog/13.2/Important-101621-ChangedDefaultValueForTwitter_cardField.rst @@ -19,6 +19,9 @@ Only if one of the following fields is filled, the meta tag :html:`<meta name="t - `twitter_description` - `twitter_image` - `twitter_card` +- `og_title` +- `og_description` +- `og_image` If no twitter card is selected, the fallback value is `summary`. diff --git a/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php b/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php index f191639e4c46..596d199e0522 100644 --- a/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php +++ b/typo3/sysext/seo/Classes/MetaTag/MetaTagGenerator.php @@ -46,6 +46,8 @@ readonly class MetaTagGenerator */ public function generate(array $params) { + $twitterCardTagRequired = false; + /** @var ServerRequestInterface $request */ $request = $params['request']; $pageRecord = $request->getAttribute('frontend.page.information')->getPageRecord(); @@ -55,11 +57,13 @@ readonly class MetaTagGenerator } if (!empty($pageRecord['og_title'])) { + $twitterCardTagRequired = true; $manager = $this->metaTagManagerRegistry->getManagerForProperty('og:title'); $manager->addProperty('og:title', $pageRecord['og_title']); } if (!empty($pageRecord['og_description'])) { + $twitterCardTagRequired = true; $manager = $this->metaTagManagerRegistry->getManagerForProperty('og:description'); $manager->addProperty('og:description', $pageRecord['og_description']); } @@ -71,6 +75,7 @@ readonly class MetaTagGenerator $ogImages = $this->generateSocialImages($fileCollector->getFiles()); foreach ($ogImages as $ogImage) { + $twitterCardTagRequired = true; $subProperties = []; $subProperties['url'] = $ogImage['url']; $subProperties['width'] = $ogImage['width']; @@ -88,7 +93,6 @@ readonly class MetaTagGenerator } } - $twitterCardTagRequired = false; if (!empty($pageRecord['twitter_title'])) { $twitterCardTagRequired = true; $manager = $this->metaTagManagerRegistry->getManagerForProperty('twitter:title'); -- GitLab