TYPO3 | Frontend Sprachwechsler realURL konform nur mit TypoScript
In meinem Beispiel ist die Standard Sprache Deutsch und die zusätzliche Sprache Englisch.
Im TYPO3 Backend legt ihr eure zusätzliche Sprache an. Die Standard Sprache hat die ID0 und die zusätzliche bekommt die ID1.
Mittels TypoScript definiert ihr wie TYPO3 mit diesen umzugehen hat.
# Standard Sprache
config {
linkVars = L
sys_language_uid = 0
language = de
locale_all = de_DE.UTF8
htmlTag_langKey = de
}
# Zusätzliche Sprache
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
locale_all = en_EN
htmlTag_langKey = en
}
[global]
Den Sprachwechsler erstellt ihr mit folgendem Code-Snippet
lib.langNav = COA
lib.langNav {
10 = HMENU
10 {
special = language
special.value = 0,1
1 = TMENU
1 {
wrap = <ul class="lang-menu">|</ul>
NO = 1
NO {
stdWrap.cObject = TEXT
stdWrap.cObject {
value = DE || EN
}
allWrap =<li>|</li>
}
# Mehrsprachigkeitwechsel News Detailseite
NO.stdWrap.typolink.parameter.data = page:uid
NO.stdWrap.typolink.additionalParams = &L=0||&L=1
NO.stdWrap.typolink.addQueryString = 1
NO.stdWrap.typolink.addQueryString.method = GET
NO.stdWrap.typolink.useCacheHash = 0
NO.stdWrap.typolink.no_cache = 0
ACT < .NO
ACT {
doNotLinkIt = 1
allWrap = <li class="active">|</li>
}
USERDEF1 < .NO
USERDEF1 {
doNotLinkIt = 1
allWrap = <li>|</li>
}
USERDEF2 < .NO
USERDEF2 {
doNotLinkIt = 1
allWrap = <li>|</li>
}
}
}
}
Mit folgendem Fluid-Marker kann das Menü an der gewünschten Position angezeigt werden.
<f:cObject typoscriptObjectPath="lib.langNav" />
Getestet mit TYPO3 Version 7.6.19
Weitere Beiträge
TYPO3 | Checkbox in Extbase Extension
TYPO3 beliebige MySQL Datenbankfelder mit TypoScript auslesen und anzeigen
Vom Außenseiter zum Insider: Wie du als Quereinsteiger eine Karriere im IT-Bereich starten kannst.
Digitale Barrierefreiheit ab 2025.