diff --git a/Classes/Controller/AbstractController.php b/Classes/Controller/AbstractController.php index fb46f19c8614a8d58f3f96eb5b6e61ae1d3e254a..cd840e4eca1527a2d7e308497f5b8b8cda1e20dd 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 80acdb1e90a894075cf8620e176c0114bdb1042b..c11621083939b078a8465ba343971ee27f44c53b 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 54ffa4eca8b257179ac5bd668c6a5c0622da7301..af6fbf21f4bf046a989a1ad1929959bfa0aca1bd 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 aefa6dd70c90d2b14c78022b03fa23aff4ee7b99..473158ff934209500c396e981f1dc6feb2dad93d 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 21d21214797439a02ac6d45028d0c7060bc0166a..4f8a507e77da8dcc0ae12cd7b9b25aa6e45d8ebd 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 +?>