Skip to content

Instantly share code, notes, and snippets.

@joekolade
Last active March 3, 2023 11:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joekolade/68a4b21b4e30637ed52c to your computer and use it in GitHub Desktop.
Save joekolade/68a4b21b4e30637ed52c to your computer and use it in GitHub Desktop.
[Langswitch] Typoscript Langswicth based on HMENU w/ fallback #typo3 #typoscript
lib.langSwitch = HMENU
lib.langSwitch {
special = language
special.value = 0,1
special.normalWhenNoLanguage = 0
1 = TMENU
1 {
noBlur = 1
# Standard Sprachen
NO = 1
NO {
stdWrap.outerWrap = <div class="item">|</div>
linkWrap = |
# Standard-Titel für den Link wäre Seitenttitel
# => anderer Text als Link-Text (Optionsschift)
stdWrap.override = deutsch || english
# Standardmäßige Verlinkung des Menüs ausschalten
# Da diese sonstige GET-Parameter nicht enthält
doNotLinkIt = 1
# Nun wird der Link mit den aktuellen GET-Parametern neu aufgebaut
# stdWrap.typolink.parameter.data = page:uid
stdWrap.typolink {
parameter.data = page:uid
additionalParams = &L=0 || &L=1
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
}
}
# Aktive Sprache
ACT < .NO
ACT.stdWrap.innerWrap = <span class="noLink">|</span>
ACT.stdWrap.typolink >
# NO + Übersetzung nicht vorhanden
USERDEF1 < .NO
USERDEF1 {
stdWrap.typolink >
stdWrap.typolink.parameter = {$pageIds.rootPage}
stdWrap.typolink.additionalParams = &L=0 || &L=1
stdWrap.typolink.addQueryString = 1
stdWrap.typolink.addQueryString.exclude = L,id,cHash,no_cache
stdWrap.typolink.addQueryString.method = GET
stdWrap.typolink.useCacheHash = 1
stdWrap.typolink.no_cache = 0
}
# ACT + Übersetzung nicht vorhanden
USERDEF2 < .ACT
USERDEF2.stdWrap.typolink.parameter = {$pageIds.rootPage}
}
}
@ursbraem
Copy link

Hallo! Bin grad in diesem Bereich am recherchieren. http://stackoverflow.com/q/40270726/160968 Weisst du evt, ob der USERDEF Status eigentlich auch greifen sollte, wenn zB eine News nicht übersetzt ist? Und warum baust du bei USERDEF1 den Link ein, obwohl das ja eigentlich grad der Fall ist, in dem keine Übersetzung vorhanden ist?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment