Programmieren lernen | Codebeispiele | Jobbörse | Webentwicklung

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 DU der erste!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.