Hallo,
ich habe Probleme bei der Sprachumschaltung in tt_news. Die Lösung dafür habe ich auch hier gefunden und ich weiß, dass man in "typolink.additionalParams" eingreifen muss, aber wie es aussieht, funzt das nicht mit meinem Sprachmenü:
temp.lang = COA
temp.lang {
10 = TEXT
10 {
value = <span>language selection: </span>
lang.de = <span>Sprachauswahl: </span>
}
20 = IMAGE
20 {
file = flag-us_off.png
altText = flag us
title = english
imageLinkWrap = 0
imageLinkWrap {
enable = 1
typolink {
parameter.data = page:uid
additionalParams = &lang=0
}
}
wrap = <span>|</span>
}
30 = IMAGE
30 {
file = flag-de_on.png
altText = flag de
title = deutsch
imageLinkWrap = 1
imageLinkWrap {
enable = 1
typolink {
parameter.data = page:uid
additionalParams = &lang=1
}
}
wrap = <span>|</span>
}
}
Und folgendermaßen schalte ich das dann um:
[globalVar = GP:lang = 1]
temp.lang.20.file = flag-us_on.png
temp.lang.20.imageLinkWrap = 1
temp.lang.30.file = flag-de_off.png
temp.lang.30.imageLinkWrap = 0
[global]
Im Moment habe ich die Sprachumschaltung in der single view ausgeschaltet, das ist aber auch nur ne Behelfslösung und nicht so schön.
Ich vermute ja mal, dass es am "IMAGE" oder am "imageLinkWrap" liegt, weshalb die "Standard-Lösung" nicht funzt...
Hat jemand speziell für diese Art von Menü den Rat, wie man die tt_news ?
ich habe Probleme bei der Sprachumschaltung in tt_news
was geht denn eigentlich nicht?
Ja,
habe ich etwas ungenau beschrieben, sorry... ;-)
Ich muss bei der Sprachumschaltung die Variablen von tt_news so mitnehmen, dass die url auch so aussieht wie vorher.
Wenn meine url so aussah:
http://www.mein-server.de/news/artikel/2008/06/24/thema.html
Wird sie nach der Sprachumschaltung in Folgendes umgesetzt:
http://www.mein-server.de/en/news/artikel/14/14/14/thema.html
Und das mach ich mit:
additionalParams.cObject = COA
additionalParams.cObject {
10 = TEXT
10.wrap = |&lang=0
60 = TEXT
60.data = GPvar : tx_ttnews|backPid
60.wrap = &tx_ttnews[backPid]=|
60.required = 1
62 = TEXT
62.data = GPvar : tx_ttnews|tt_news
62.wrap = &tx_ttnews[year]=|
62.required = 1
64 = TEXT
64.data = GPvar : tx_ttnews|tt_news
64.wrap = &tx_ttnews[month]=|
64.required = 1
66 = TEXT
66.data = GPvar : tx_ttnews|tt_news
66.wrap = &tx_ttnews[day]=|
66.required = 1
70 = TEXT
70.data = GPvar : tx_ttnews|tt_news
70.wrap = &tx_ttnews[tt_news]=|
70.required = 1
80 = TEXT
80.data = GPvar : cHash
80.wrap = &cHash=|
80.required = 1
}
Ist doch nicht normal, oder?
Nehm ich nur die 60, 70 und 80 kommt das dann raus:
http://www.mein-server.de/news/artikel////thema.html
was ja auch nicht so richtig ist.
Ah, ok. Jetzt ist es schon klarer. Das Problem hatte ich auch. Also ich geb dir einfach mal meine Einstellungen. Ich habe folgendes:
- Default-Sprache Deutsch (L=0)
- zusätzliche Sprachen: Englisch (L=1) und Italienisch (L=2)
- Sprachmenü ohne Bilder
Meine Spracheinstellungen und das Sprachmenü im SETUP:
config {
# SprachVariable L initialisieren
linkVars = L
uniqueLinkVars = 1
# Standardsprache UID 0 -> Deutsch
sys_language_uid = 0
language = de
locale_all = de_DE.ISO8859-1
htmlTag_langKey = de_DE
# Verhalten beim Umschalten der Sprache
sys_language_mode = content_fallback
sys_language_overlay = hideNonTranslated
}
# Sprachlinks
temp.langlink1 = TEXT
temp.langlink1 {
value = {$italienisch}
typolink {
parameter.data = page:uid
additionalParams = &L=2
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
ATagParams = lang="it" xml:lang="it"
wrap = <li class="it"> | </li>
}
}
temp.langlink2 = TEXT
temp.langlink2 {
value = {$englisch}
typolink {
parameter.data = page:uid
additionalParams = &L=1
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
ATagParams = lang="en" xml:lang="en"
wrap = <li class="en"> | </li>
}
}
# --- wenn English gewählt ist --- #
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
locale_all = en_EN.ISO8859-1
htmlTag_langKey = en_EN
}
# Sprachlinks
temp.langlink1 = TEXT
temp.langlink1 {
value = {$italienisch}
typolink {
parameter.data = page:uid
additionalParams = &L=2
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
ATagParams = lang="it" xml:lang="it"
wrap = <li class="it"> | </li>
}
}
temp.langlink2 = TEXT
temp.langlink2 {
value = {$deutsch}
typolink {
parameter.data = page:uid
additionalParams = &L=0
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
ATagParams = lang="de" xml:lang="de"
wrap = <li class="de"> | </li>
}
}
[global]
# --- wenn Italienisch gewählt ist --- #
[globalVar = GP:L = 2]
config {
sys_language_uid = 2
language = it
locale_all = it_IT.ISO8859-1
htmlTag_langKey = it_IT
}
# Sprachlinks
temp.langlink1 = TEXT
temp.langlink1 {
value = {$deutsch}
typolink {
parameter.data = page:uid
additionalParams = &L=0
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
ATagParams = lang="de" xml:lang="de"
wrap = <li class="de"> | </li>
}
}
temp.langlink2 = TEXT
temp.langlink2 {
value = {$englisch}
typolink {
parameter.data = page:uid
additionalParams = &L=1
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
ATagParams = lang="en" xml:lang="en"
wrap = <li class="en"> | </li>
}
}
[global]
# --- Menü zur Sprachauswahl erstellen --- #
temp.language = COA
temp.language {
10 < temp.langlink1
20 < temp.langlink2
}
Der Teil:
typolink {
...
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
...
}
...
sorgt dafür, dass Parameter (z.B. die von tt_news) mit angehängt werden.
Dann habe ich noch die üblichen realurl-Einstellungen. Hoffe das hilft dir weiter.
Hi Mopps,
Du hast meine ungeteilte Begeisterung.
Funzt tadellos.
Super vielen Dank von meiner Seite aus.
Jesses Leute, Ihr habt ja recht - erlaubt ist, was funktioniert. Aber elegant is doch anders. Anbei mal ein Gegenvorschlag mit weitgehend gleicher Funktionalität, zusätzlich noch Icons in den Sprachlinks.
Übrigens auch ganz wichtig:
In die Werte von htmlTag_langKey gehört ein Bindestrich rein, kein Unterstrich.
config {
# SprachVariable L initialisieren
linkVars = L(int)
uniqueLinkVars = 1
# Standardsprache UID 0 -> Deutsch
sys_language_uid = 0
language = de
locale_all = de_DE
htmlTag_langKey = de-DE
# Verhalten beim Umschalten der Sprache
sys_language_mode = content_fallback
sys_language_overlay = hideNonTranslated
}
# --- wenn English gewählt ist --- #
[globalVar = GP:L=1]
config {
sys_language_uid = 1
language = en
locale_all = en_EN
htmlTag_langKey = en-EN
}
[global]
# --- wenn Italienisch gewählt ist --- #
[globalVar = GP:L=2]
config {
sys_language_uid = 2
language = it
locale_all = it_IT
htmlTag_langKey = it-IT
}
[global]
temp.language = HMENU
temp.language {
special = language
special.normalWhenNoLanguage = 0
special.value = 0,1,2
addQueryString = 1
addQueryString.exclude = id, L, cHash
1 = TMENU
1 {
NO = 1
NO {
stdWrap.setCurrent = <li class="de"><img src="/fileadmin/templates/img/langflag-DE.gif" alt="Deutsch" title="Deutsch"> Deutsch </li> || <li class="en"><img src="/fileadmin/templates/img/langflag-EN.gif" alt="English" title="English"> English </li> || <li class="it"><img src="/fileadmin/templates/img/langflag-IT.gif" alt="Italiano" title="Italiano"> Italiano </li>
stdWrap.current = 1
}
ACT < .NO
ACT{
stdWrap.setCurrent = <li class="de"><img src="/fileadmin/templates/img/langflag-DEact.gif" alt="Deutsch" title="Deutsch"> Deutsch </li> || <li class="en"><img src="/fileadmin/templates/img/langflag-ENact.gif" alt="English" title="English"> English </li> || <li class="it"><img src="/fileadmin/templates/img/langflag-ITact.gif" alt="Italiano" title="Italiano"> Italiano </li>
doNotLinkIt = 1
}
USERDEF1 < .NO
USERDEF1{
stdWrap.setCurrent = <li class="de"><img src="/fileadmin/templates/img/langflag-DEoff.gif" alt="Deutsch" title="Deutsch"> Deutsch </li> || <li class="en"><img src="/fileadmin/templates/img/langflag-ENofft.gif" alt="English" title="English"> English </li> || <li class="it"><img src="/fileadmin/templates/img/langflag-IToff.gif" alt="Italiano" title="Italiano"> Italiano </li>
doNotLinkIt = 1
}
}
}
Reduziert deutlich die Tastaturabnutzung, und vermutlich auch die TS-Renderzeit. 8-)