inzwischen werden Seiten vom Typ 'shortcut' in Menüs mit der ZielURL gerendert.
Bei Seiten vom Typ 'external URL' wird aber immer noch die TYPO3-Seite angesprungen, die dann erst ein Reload macht.
Hier eine Lösung in Typoscript anhand der Sitemap:
tt_content.menu.20.2 { 1.NO { doNotLinkIt = 1 doNotLinkIt.if { equals.field = doktype value = 3 } stdWrap { htmlSpecialChars > htmlSpecialChars = 1 htmlSpecialChars.if { equals.field = doktype value = 3 negate = 1 } override.cObject = TEXT override.cObject { if { equals.field = doktype value = 3 } field = navtitle // title insertData = 1 typolink { parameter { field = url insertData = 1 } extTarget { field = target insertData = 1 } } } } } 2.NO < .1.NO 3.NO < .2.NO 4.NO < .3.NO 5.NO < .4.NO }
Dann gibt es natürlich noch die neue Teil-Sitemap tt_content.menu.20.2 und jedes eigene Menü.
eine andere Alternative wäre eine userfunc, die das Rendering in PHP macht:
NO.allStdWrap.postUserFunc = user_functions->user_modifyToExternalUrl
mit
class user_functions { function user_modifyToExternalUrl($content, $conf){ // if link type is "external url" replace link to redirecting page with external url if($this->cObj->data['doktype'] == 3){ $content = preg_replace('/(<a[^>]*href=")[^"]*("[^>]*>)/','$1http://'.$this->cObj->data['url'].'$2', $content); } return $content; } }