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;
}
}