Typo3 - Multilanguage Menu
Aus Wikizone
Version vom 18. Januar 2010, 08:16 Uhr von 84.157.235.108 (Diskussion) (→Sprachwechsler mit Domainauswertung)
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