Zum Inhalt springen

Problem Sprachwechsel über URL und globalVar

Erstellt am 22. August 2009 · 2 Antworten · letzte Antwort am 30. August 2009

Tags: Frage

harry7922 ·

Hallo zusammen,

ich habe eine Seite, auf der je nach URL (domain.de -> DE; domain.fr->Französisch) ein Sprachwechsel durchgeführt wird. Das funktioniert auch.

Jetzt möchte ich für andere Sprachen (Englisch) aber auf beiden Seiten einen Sprachwechsel im Frontend über die Global-Post-Var durchführen können.

Folgender TS:

  linkVars = type, L
  uniqueLinkVars = 1
# Wichtig für Mehrsprachigkeit
  sys_language_mode = content_fallback
  sys_language_overlay = 1

  # deutsch:
  baseURL = http://www.domain.de
  sys_language_uid = 0
  htmlTag_langKey = de-DE
  language = de
  locale_all = de_DE
}

# Französisch über URL:
[globalString = ENV:HTTP_HOST=*domain.fr]
config{
    baseURL = http://www.domain.fr/
    sys_language_uid = 1
    language = fr
    locale_all = fr_FR
    htmlTag_langKey = fr_FR
}
[global]

# Englisch:
[globalVar = GP:L=2]
config{
  sys_language_uid = 2
  language = en
  locale_all = en_GB
  htmlTag_langKey = en
}
plugin.meta.language = en
[global]

Das Umschalten über die URL funktioniert. Hänge ich jedoch an eine Seite die Parameter "&L=2" an, so wird leider nicht der Englische Datensatz ausgegeben.

Ich habe bereits mehrere Stunden gesucht und konnte das Problem nicht lösen, bzw. erkenne meinen Fehler nicht.

Könnte Ihr mir einen Tipp geben?

Vielen Dank
Grüße
Hardy

harry7922 ·

Also ich werd langsam verrückt mit diesem Problem.
Wenn ich dem oben angegebenen TS den Post-Wert &L=2 mitgebe, so macht er einfach gar nix...

Jetzt habe ich das TS umgeändert.
In den Constants frage ich bereits die Werte ab:
# Sprachparameter in Abhängigkeit der URL setzen oder L-Parameter setzen
mylangvar = 0

[globalString = ENV:HTTP_HOST= *.at]
	mylangvar = 1
[global]
[globalVar = GP:lang=0]
	mylangvar = 0
[global]
[globalVar = GP:lang=1]
	mylangvar = 1
[global]
[globalVar = GP:lang=2]
	mylangvar = 2
[global]

Im Setup frage ich die lokale Variable ab:

config {
  simulateStaticDocuments = 1
  simulateStaticDocuments_addTitle = 0
  simulateStaticDocuments_pEnc_onlyP = lang
  simulateStaticDocuments_pEnc = md5
  linkVars = lang
  uniqueLinkVars = 1
  sys_language_mode = content_fallback
  sys_language_overlay = 1
}

# deutsch:
config.baseURL = http://www.domain.de/
config.sys_language_uid = 0
config.htmlTag_langKey = de-DE
config.language = de
config.locale_all = de_DE

[globalVar = LIT:0 = {$mylangvar}]
 config.baseURL = http://www.domain.de/
 config.sys_language_uid = 0
 config.language = de
 config.locale_all = de_DE
 config.htmlTag_langKey = de
[global]

[globalVar = LIT:1 = {$mylangvar}]
 config.sys_language_uid = 1
 config.language = de
 config.locale_all = de_DE
 config.htmlTag_langKey = de
 config.baseUrl = http://www.domain.at/
[global]

[globalVar = LIT:2 = {$mylangvar}]
 config.sys_language_overlay = hideNonTranslated
 config.sys_language_uid = 2
 config.language = en
 config.locale_all = en_GB
 config.htmlTag_langKey = en
 plugin.meta.language = en
[global]

Hier funktioniert es, wenn ich einer URL die Post-Variable &lang=2 mitgebe, dass er auf die Englische Sprache wechselt.

Allerdings habe ich das Problem, dass bei Besuch der Webseite die PostVar lang nicht gleich gesetzt ist.

Kann ich über TS die PostVar setzen???

Bin für jeden Vorschlag dankbar!!!

Liebe Grüße
Hardy

harry7922 ·

Hallo zusammen,

habe es jetzt folgendermassen umgesetzt, dass über die Domain die Globale "L" mit einem entsprechenden Wert befüllt wird.

Der grafische Sprachwechsel ändert eine weitere Globale "L2".

Liebe Grüße
Hardy