diff --git a/Classes/ViewHelpers/Link/PageViewHelper.php b/Classes/ViewHelpers/Link/PageViewHelper.php index f30ee4d..e1bc192 100644 --- a/Classes/ViewHelpers/Link/PageViewHelper.php +++ b/Classes/ViewHelpers/Link/PageViewHelper.php @@ -57,6 +57,15 @@ class PageViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Link\PageViewHelper { public function render($pageUid = NULL, array $additionalParams = array(), $pageType = 0, $noCache = FALSE, $noCacheHash = FALSE, $section = '', $linkAccessRestrictedPages = FALSE, $absolute = FALSE, $addQueryString = FALSE, array $argumentsToBeExcludedFromQueryString = array(), $frontendPath = '', $backupDomain = '') { $uriBuilder = $this->controllerContext->getUriBuilder(); + $pieces = preg_split('/\s+/', $pageUid); + $target = ''; + + foreach($pieces as $piece) { + if($piece == '_blank' || g$piece == '_top') { + $target = $piece; + } + } + $uri = $uriBuilder ->reset() ->setTargetPageUid($pageUid) @@ -81,6 +90,10 @@ public function render($pageUid = NULL, array $additionalParams = array(), $page $uri = self::http_build_url($parts); } + if($target) { + $this->tag->addAttribute('target', $target); + } + $this->tag->addAttribute('href', $uri); $this->tag->setContent($this->renderChildren()); @@ -125,4 +138,4 @@ public static function http_build_url(array $parts){ $hash. $parts['fragment']; } -} \ No newline at end of file +}