getValue ignoriert Sprachänderung

Bei Problemen/Anregungen mehrsprachiger Webseiten.

getValue ignoriert Sprachänderung

Beitragvon kaffdaddy » 4. Dez 2008, 10:38

Hallo,

in einem Template wird über
Code: Alles auswählen
$this->setCLang(1);
$clang = 1;
$REX['CUR_CLANG'] = 1;
die Sprache verändert. Ich verwende alle drei möglichen Parameter, habe es aber auch mit nur setClang versucht.
Die Wahl der Sprache wird auch eigentlich korrekt übernommen und der Text des Artikels in der neuen Sprache angezeigt.

Ich möchte aber die Metainformationen mittels
Code: Alles auswählen
$this->getValue("headline")
ausgeben und hier bekomme ich nur ein
headline not found
zurück. Wenn ich die Seite über die URL aufrufe, in der der clang-Parameter übergeben wird (42-1-Artikelname.html) wird auch die headline richtig ausgelesen. Nur wenn ich die URL über 42-0-Artikelname.html aufrufe und im Template nachträglich die Sprache wechsle nicht.

Hintergrund der Geschichte: Im Template soll die Clientsprache abgefragt werden und nach Auswertung dieser die gewünschte Seitensprache sofort angezeigt werden (ohne Nachladen der Seite).

Verwendete Version von Redaxo: 4.1.0

Für einen Hinweis wäre ich sehr dankbar.

Viele Grüße,
Stephan
kaffdaddy
 
Beiträge: 1
Registriert: 4. Dez 2008, 10:29

Re: getValue ignoriert Sprachänderung

Beitragvon Iridian » 25. Mär 2011, 20:15

Das Problem existiert in der aktuellen Version immer noch und bei mir trat es auf, da ich per Geo-Targeting ebenfalls eine automatische Sprachauswahl mache.

Da ich im Internet keinerlei Lösung dafür gefunden habe, hier mein Dreizeiler-Workaround:

Code: Alles auswählen
// Vor der Sprachänderung die aktuelle Artikel-ID zwischenspeichern:
$backup_art_id = $this->getValue("article_id");

// Neue Sprache einstellen:
$REX["CUR_CLANG"] = $mylang;

// $this kann im Artikel nicht neu zugewiesen werden, daher verwenden wir $this_:
$this_ = new article($backup_art_id);

// $this_ enthält nun den Inhalt sowie alle Meta-Informationen zum aktuellen Artikel in der neu eingestellten Sprache.


Viele Grüße
Christoph
Iridian
 
Beiträge: 3
Registriert: 25. Mär 2011, 20:10
Wohnort: Heidelberg (BW)

Re: getValue ignoriert Sprachänderung

Beitragvon Markus.Staab » 28. Mär 2011, 10:16

Hi Christoph,

wo verwendest du diesen code..?
Sieht aus als würdest du das in einem Modul machen...?

Meiner Meinung nach müsste so eine Sprachumschaltung in einem Template gemacht werden und dort sollte es auch ohne Probleme funktionieren...

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Re: getValue ignoriert Sprachänderung

Beitragvon Iridian » 28. Mär 2011, 10:49

Hi Markus,

ich habe den Code in einem Template verwendet, denn dort hat das Nachladen der Meta-Informationen (in meinem Fall Seitentitel) bei Neuzuweisung der Artikelsprache mit ->setCLang() nicht funktioniert.

Viele Grüße
Christoph
Iridian
 
Beiträge: 3
Registriert: 25. Mär 2011, 20:10
Wohnort: Heidelberg (BW)

Re: getValue ignoriert Sprachänderung

Beitragvon Thomas.Blum » 29. Mär 2011, 08:24

Hej,

warum nicht auf die richtige Seite weiterleiten?

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Re: getValue ignoriert Sprachänderung

Beitragvon Iridian » 29. Mär 2011, 20:36

Naja, weil man sich die Weiterleitung sparen kann, wenn man einfach die Sprache ändert ;-). Das gilt ja nur für die Startseite auf /. Bei Direktaufruf mit Sprachangabe in der URL wird dann natürlich keine andere Content-Sprache ausgegeben.
Iridian
 
Beiträge: 3
Registriert: 25. Mär 2011, 20:10
Wohnort: Heidelberg (BW)

Re: getValue ignoriert Sprachänderung

Beitragvon Thomas.Blum » 30. Mär 2011, 06:31

Hej,

dann hast du aber unter ein und derselben Domain unterschiedlichen Inhalt.

Browsersprache ermitteln oder bestimmte Domain[1] auswerten und dann auf die jeweilige Sprache leiten.

[1]
domain.com -> domain.de/en/
domain.de -> domain.de/de/


vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden


Zurück zu Mehrsprachigkeit [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast