Typo3 - Multilanguage Menu

Aus Wikizone
Wechseln zu: Navigation, Suche

Sprachwechsler mit Domainauswertung[Bearbeiten]

Quelle: typo3blogger.com 18.1.2010

# Sprach-Links erzeugen
 
temp.langMenuDE = COA
temp.langMenuDE {
  stdWrap.wrap = <li>|</li>
 
  10 = TEXT
  10.value = domain.de  # die deutschsprachige Domain
  10.wrap =  <a href="http://www.|/
 
  20 = TEXT
  20.typolink {
    parameter.data = TSFE:id
    returnLast = url
    additionalParams = &L=3
    addQueryString = 1
    addQueryString.method = GET
    addQueryString.exclude = id  # muss gesetzt werden, da ansonsten der id-Parameter 2x auftaucht
  }
 
  30 = TEXT
  30.value = DEU
  30.wrap =">|</a>
 
}
 
 
temp.langMenuNL < temp.langMenuDE
temp.langMenuNL {
  10.value = domain.nl
  20.typolink.additionalParams = &L=0
  30.value = NL  
}
 
temp.langMenuFR < temp.langMenuDE
temp.langMenuFR {
  10.value = domain.fr
  20.typolink.additionalParams = &L=2
  30.value = FR  
}
 
 
# Menü zusammenbasteln
 
lib.langMenu = COA
lib.langMenu {
  wrap = <div class="langmenu"><ul>|</ul></div>
 
  10 < temp.langMenuNL
  20 < temp.langMenuDE
  30 < temp.langMenuFR  
}
 
# Active-State anhand von Domain bzw. L setzen
# falls man neu auf die Site gekommen ist
 
[globalVar = GP:L = 0] OR 
[globalString = IENV:HTTP_HOST = www.domain.nl]
lib.langMenu.10 = TEXT
lib.langMenu.10 {
  value = NL
  stdWrap.wrap = <li class="act">|</li>
}
[globalVar = GP:L = 3] OR 
[globalString = IENV:HTTP_HOST = www.domain.de]
lib.langMenu.20 = TEXT
lib.langMenu.20 {
  value = DEU
  stdWrap.wrap = <li class="act">|</li>
}
[globalVar = GP:L = 2] OR 
[globalString = IENV:HTTP_HOST = www.domain.fr]
lib.langMenu.30 = TEXT
lib.langMenu.30 {
  value = FR
  stdWrap.wrap = <li class="act">|</li>
}

[global]

Multilanguage Menu (1.11)[Bearbeiten]

TypoScript Template:

temp.multilang-navigation (1.11)

Constants

languageMenuScript = fileadmin/templates/scripts/languageMenu.php

Setup

# languageSwitch gibt die Flagge mit Link 
# zum jeweiligen anderen Seitenbaum aus.


#Allgemeine Spracheinstellungen...
#############################################
### Einstellungen deutscher Seitenbaum... ###
#############################################

[PIDinRootline = 2]
### Spracheinstellungen ###
### Parameter L definieren 0 soll die default Sprache (deutsch) sein ###
config.linkVars = L

#values for default language
config.htmlTag_langKey = de_DE
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE

#config.sys_language_mode = content_fallback;0
config.sys_language_mode = strict
config.sys_language_overlay = hideNonTranslated


temp.languageSwitch = COA
temp.languageSwitch{
   #5 = TEXT
   #5.value = multil.
   10 = IMAGE
   10.file = fileadmin/templates/img/us.gif
   10.altText = HfWU english startpage
   10.titleText = HfWU english startpage
   10.stdWrap.typolink.parameter = 218
}

[global]

### Einstellungen englischer Seitenbaum ###

[PIDinRootline = 218]
### Spracheinstellungen ###
### Parameter L definieren 0 soll die default Sprache (deutsch) sein ###
config.linkVars = L
#values for default language
config.htmlTag_langKey = en_US
config.sys_language_uid = 1
config.language = en
config.locale_all = en_US

temp.languageSwitch = COA
temp.languageSwitch{
   10 = IMAGE
   10.file = fileadmin/templates/img/de.gif
   10.altText = HfWU deutsche Startseite
   10.titleText = HfWU deutsche Startseite
   10.stdWrap.typolink.parameter = 203
}
[global]


Auch hier die Standard Einstellungen nicht vergessen...

# languageMenu nutzt ein Skript um die jeweilige Seite 
# in anderen Sprachen auszugeben
############################################################
#multilanguage-flags
temp.languageMenu = PHP_SCRIPT
temp.languageMenu.file = {$languageMenuScript}

# Englisch, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_US

#  Link to top
#content.linkToTop >
#tt_content.stdWrap.innerWrap2 = <br><div align="right"><A href="#top"><font color="#AB3C4B" face="Arial, Helvetica, sans-serif" size="1"><B>to top</b></font></a></div>

#Suchfunktion - englisch
/*
tt_content.search{
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###
   20.noResultObj.10.value = No hits.
   20.next.value=next
   20.prev.value=previous
   30.dataArray.10.label = Searchwords:
   30.dataArray.20.label = Search in:
   30.dataArray.20.valueArray.10.label = Headlines & Keywords
   30.dataArray.20.valueArray.20.label = Content
   30.dataArray.40.value = Start search
}
*/
[global]

# French language, sys_language.uid = 2
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = fr
config.locale_all = fr_FR
[global]

Beispiele für Sprachumschalter..

Multitree TS Umschalter (D-E)

Es wird immer nur eine Flagge gezeigt.

temp.navi_lang = COA
temp.navi_lang.wrap = <div class="serviceNavi"> | </div>
temp.navi_lang.30 = IMAGE

[PIDinRootline = 192]
temp.navi_lang.30{
  file = typo3conf/ext/syslanguage_flags/gfx/de.gif
  altText = www.grauff.com - deutsche Version
  titleText = www.grauff.com - deutsche Version
  stdWrap.typolink.parameter = 262
}
[global]
[PIDinRootline = 193]
temp.navi_lang.30{
  file = typo3conf/ext/syslanguage_flags/gfx/uk.gif
  altText = www.grauff.com - english Version
  titleText = www.grauff.com - english Version
  stdWrap.typolink.parameter = 261
}
[global]

Auswahl für Multitreemenu TS - mit Home und Print Button

Könnte vereinfacht werden, so ist es aber sehr übersichtlich

Beide Flaggen werden gezeigt:

// Service Navigation:
temp.navi_lang = COA
temp.navi_lang.wrap = <div class="serviceNavi"> | </div>
temp.navi_lang.30 = IMAGE
temp.navi_lang.30{
  file = typo3conf/ext/syslanguage_flags/gfx/de.gif
  altText = www.grauff.com - deutsche Version
  titleText = www.grauff.com - deutsche Version
  stdWrap.typolink.parameter = 262
}
temp.navi_lang.35 = IMAGE
temp.navi_lang.35{
  file = typo3conf/ext/syslanguage_flags/gfx/uk.gif
  altText = www.grauff.com - english Version
  titleText = www.grauff.com - english Version
  stdWrap.typolink.parameter = 261
}

temp.navi_lang.40 = COA
temp.navi_lang.40.5 = IMAGE
#deutscher Seitenbaum
[PIDinRootline = 193]
temp.navi_lang.40.5{
    file = fileadmin/Bilder/printer.gif
    altText = Seite drucken
    titleText = Seite drucken
    wrap = <a href="#" onclick="javascript:window.print()" target="blank">|</a>
}
[else]
temp.navi_lang.40.5{
    file = fileadmin/Bilder/printer.gif
    altText = Print page
    titleText = Print page
    wrap = <a href="#" onclick="javascript:window.print()" target="blank">|</a>
}
[global]
temp.navi_lang.40.7 = IMAGE
# englischer SEitenbaum
[PIDinRootline = 192]
temp.navi_lang.40.7{
    file = fileadmin/grauff/media/home.gif
    altText = Home
    titleText = Home
    #wrap = <a href="http://www.grauff.com" target="_top">|</a>
    stdWrap.typolink.parameter = 261
}
[global]
[PIDinRootline = 193]
temp.navi_lang.40.7{
    file = fileadmin/grauff/media/home.gif
    altText = Home
    titleText = Home
    #wrap = <a href="http://www.grauff.com" target="_top">|</a>
    stdWrap.typolink.parameter = 262
}
[global]

Siehe auch TypoScript - Service Navigation