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
Noch keine Kommentare vorhanden. Sei der erste!
Weitere Beiträge
TYPO3 8.7 - FAL in eigener Extbase Extension nutzen.
Die wichtigsten Magento 2 Konsolenbefehle
PHP 7 | Ein einfacher Fileupload mit PHP
Zufälligen Inhalt einer Spalte per TypoScript ausgeben.