

TYPO3 erstellt für Seiten vom Typ Shortcut und für Seiten vom Typo External Link mit der Standardeinstellung keinen direkten Link zur externen Seite / zum Ziel des Shortcuts.
Durch das Umstellen dieses Verhaltens funktioneren auch der ACT und CUR Zustand bei Seiten vom Typ Shortcut.
Dieses Verhalten kann man mit einem CASE Object im stdWrap eines Menuitems anpassen:
lib.menu=HMENU lib.menu{ 1=TMENU 1.wrap=<ul>|</ul> 1.NO { # hier nicht verlinken, ansonsten bekommt man doppelte <a> tags doNotLinkIt = 1 wrapItemAndSub=<li>|</li> stdWrap.cObject = CASE stdWrap.cObject { key.field = doktype default = TEXT default { typolink.parameter.field = uid field = title stdWrap.htmlSpecialChars = 1 } # 4 = shortcut 4 = TEXT 4 { field = title typolink.parameter.field = shortcut } # 3 = external url 3 = TEXT 3 { field = title typolink.parameter.field = url typolink.extTarget.field = target } } } }




eazy
4 = TEXT
4 {
field = title
typolink.parameter.field = shortcut
innerWrap = |"bla bla bla"
}
Ich hab' einen Workaround für die ersten beiden Ebenen.
[treeLevel = 1]
lib.menu.1.NO.wrapItemAndSub {
override = <li class="current">|</li>
override.if {
equals.field = shortcut
value.data = page:uid
}
}
[global]
[treeLevel = 2]
lib.menu.1.NO.wrapItemAndSub {
override = <li class="current">|</li>
override.if {
equals.field = shortcut
value.data = page:pid
}
}
[global]
lib.menu.1.NO.wrapItemAndSub {
override = <li class="current">|</li>
override.if {
equals.field = shortcut
value.data = leveluid:1
}
}
lib.menu_main = HMENU
lib.menu_main.entryLevel = 0
lib.menu_main.excludeUidList = {$excludeNavigation}
lib.menu_main.wrap = <ul>|</ul>
lib.menu_main {
1 = GMENU
1 {
NO.wrap = <li>|</li>
NO {
ATagTitle.field = title
XY = 181,25
backColor = #e4ecf0
###
noLink = 1
allStdWrap.typolink.parameter.cObject = CASE
allStdWrap.typolink.parameter.cObject {
key.field = doktype
default = TEXT
default {
field = uid
default = TEXT
default.field = title
stdWrap.htmlSpecialChars = 1
}
# Seitentyp interne Weiterleitung
4 = TEXT
4 {
field = title
default = TEXT
default.field = shortcut
}
# 3 = Seitentyp externe URL
3 = TEXT
3 {
field = url
default = TEXT
default.field = target
}
}
###
10 = TEXT
10 {
text.field = title // nav_title
fontColor = #5a6e78
fontSize = 18
offset = 0,20
fontFile = fileadmin/fonts/NoSBd___.ttf
text.case = upper
}
}
RO < lib.menu_main.1.NO
RO = 1
RO {
backColor = #e4ecf0
10.fontColor = #aa001d
20 = IMAGE
20.file = fileadmin/images/arrow.gif
20.offset = [10.w]+6,5
}
ACT < lib.menu_main.1.RO
ACT = 1
ACT {
backColor = #e4ecf0
10.fontColor = #066581
20 = IMAGE
20.file = fileadmin/images/arrow_blue.gif
20.offset = [10.w]+6,5
}
}
}
lib.navigation = HMENU
lib.navigation {
1 = GMENU
1 {
NO = 1
NO {
ATagParams.cObject = CASE
ATagParams.cObject {
key.field = doktype
3 = TEXT
3 {
field = url
wrap = href="http://|"
}
}
}
}
}
Wenn ich nur diesen Code verwende, linkt der Menüpunkt aber immer auf die externe URL der Default-Sprache...
Wie kann ich das berücksichtigen?
Man muss in der localconf.php der Liste der [FE][pageOverlayFields] das Feld url hinzufügen.
Kommentar hinzufügen