From 7231ba4afe9108e83cbe60bed9ad6c6d036889f4 Mon Sep 17 00:00:00 2001 From: Fabian Galinski <fabian@sgalinski.de> Date: Wed, 19 Aug 2015 19:04:21 +0200 Subject: [PATCH] [TASK] Improvements of the og:image tags --- Classes/Controller/AbstractController.php | 18 ------------------ .../Controller/ListByCategoryController.php | 9 ++++++++- Classes/Controller/OverviewController.php | 9 ++++++++- Classes/Controller/SingleViewController.php | 11 ++++------- ext_emconf.php | 5 +++-- 5 files changed, 23 insertions(+), 29 deletions(-) diff --git a/Classes/Controller/AbstractController.php b/Classes/Controller/AbstractController.php index fb46f19..cd840e4 100644 --- a/Classes/Controller/AbstractController.php +++ b/Classes/Controller/AbstractController.php @@ -72,24 +72,6 @@ abstract class AbstractController extends ActionController { throw new RuntimeException(parent::errorAction()); } - /** - * Adds the og:image tag with the given image to the meta data. - * - * @param string $image - * @return void - */ - public function addOgImageMetaTag($image) { - /** @var $typoScriptController TypoScriptFrontendController */ - $typoScriptController = $GLOBALS['TSFE']; - - /** @var PageRenderer $pageRenderer */ - $pageRenderer = $typoScriptController->getPageRenderer(); - $pageRenderer->addHeaderDataRegex( - '<meta property="og:image" content=".*?"', - '<meta property="og:image" content="' . $image . '"' - ); - } - /** * Returns the meta data of the given news. * diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php index 80acdb1..c116210 100644 --- a/Classes/Controller/ListByCategoryController.php +++ b/Classes/Controller/ListByCategoryController.php @@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Controller; * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ +use SGalinski\ProjectBase\Service\HeaderMetaDataService; use SGalinski\SgNews\Domain\Model\Category; use SGalinski\SgNews\Domain\Model\News; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -94,6 +95,12 @@ class ListByCategoryController extends AbstractController { $newsMetaData[] = $data; } + if ($highlightedNewsMetaData['image']) { + HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['image']); + } elseif ($highlightedNewsMetaData['teaserImage']) { + HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['teaserImage']); + } + $this->view->assign('numberOfPages', $numberOfPages); $this->view->assign('newsMetaData', $newsMetaData); $this->view->assign('category', $selectedCategory); @@ -101,4 +108,4 @@ class ListByCategoryController extends AbstractController { } } -?> \ No newline at end of file +?> diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php index 54ffa4e..af6fbf2 100644 --- a/Classes/Controller/OverviewController.php +++ b/Classes/Controller/OverviewController.php @@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Controller; * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ +use SGalinski\ProjectBase\Service\HeaderMetaDataService; use SGalinski\SgNews\Domain\Model\Category; use SGalinski\SgNews\Domain\Model\News; use TYPO3\CMS\Extbase\Persistence\Generic\Query; @@ -85,9 +86,15 @@ class OverviewController extends AbstractController { $highlightedNewsMetaData = $this->getMetaDataForNews($highlightedNews, $category); } + if ($highlightedNewsMetaData['image']) { + HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['image']); + } elseif ($highlightedNewsMetaData['teaserImage']) { + HeaderMetaDataService::addOgImageToHeader($highlightedNewsMetaData['teaserImage']); + } + $this->view->assign('newsByCategory', $newsByCategory); $this->view->assign('highlightedNewsMetaData', $highlightedNewsMetaData); } } -?> \ No newline at end of file +?> diff --git a/Classes/Controller/SingleViewController.php b/Classes/Controller/SingleViewController.php index aefa6dd..473158f 100644 --- a/Classes/Controller/SingleViewController.php +++ b/Classes/Controller/SingleViewController.php @@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Controller; * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ +use SGalinski\ProjectBase\Service\HeaderMetaDataService; use SGalinski\SgNews\Domain\Model\Category; use SGalinski\SgNews\Domain\Model\News; use TYPO3\CMS\Core\Page\PageRenderer; @@ -94,13 +95,9 @@ class SingleViewController extends AbstractController { $newsAuthor = $news->getAuthorFrontendUser(); $newsMetaData = $this->getMetaDataForNews($news, $newsCategory); if ($newsMetaData['image']) { - $pageRenderer->addHeaderData( - '<meta property="og:image" content="' . $newsMetaData['image'] . '" />' - ); + HeaderMetaDataService::addOgImageToHeader($newsMetaData['image']); } elseif ($newsMetaData['teaserImage']) { - $pageRenderer->addHeaderData( - '<meta property="og:image" content="' . $newsMetaData['teaserImage'] . '" />' - ); + HeaderMetaDataService::addOgImageToHeader($newsMetaData['teaserImage']); } if ($this->settings['facebookPublisher'] !== '') { @@ -121,4 +118,4 @@ class SingleViewController extends AbstractController { } } -?> \ No newline at end of file +?> diff --git a/ext_emconf.php b/ext_emconf.php index 21d2121..4f8a507 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -25,7 +25,8 @@ $EM_CONF[$_EXTKEY] = array( 'typo3' => '6.2.0-6.2.99', 'php' => '5.4.0-5.6.99', 'pw_comments' => '3.0.0-3.9.99', - 'rx_shariff' => '2.1.0-' + 'rx_shariff' => '2.1.0-', + 'project_base' => '1.0.0-' ), 'conflicts' => array(), 'suggests' => array(), @@ -34,4 +35,4 @@ $EM_CONF[$_EXTKEY] = array( '_md5_values_when_last_written' => '', ); -?> \ No newline at end of file +?> -- GitLab