Seite 1 von 1

Sprachen

Verfasst: So 19. Feb 2006, 17:56
von asycs
Der Betreff -Sprachen funktionieren nicht- hielt ich für ein bißchen übertrieben, aber dem kommt es schon sehr nahe.

Schönen Sonntag Abend erstmal.

Warum funtioniert:
http://manetu.de/csw/cms/cms/front_cont ... c8c80def59

aber nicht:
http://manetu.de/csw/cms/cms/front_cont ... t=7&lang=9

Die Frage also, warum wird da nicht automatisch eine Session mit hinten dran gehängt?

http://manetu.de/csw/cms/cms


Ich bin für jeden Hinweis dankbar.

Verfasst: So 19. Feb 2006, 18:10
von HerrB
Ähm, hä?

Die aktuelle Sprache ist in Deiner Session in der Contenido-DB gespeichert. Die Session-ID wird entweder in der URL übergeben oder in einem Cookie gespeichert (und so wieder an die Webseite übergeben).

Wenn Du nun keine Cookies zulässt, ist jeder Aufruf der Seite (ohne angefügte Session-ID) für die Webseite ein völlig neuer Zugriff (und erzeugt eine neue Session). Dieses Problem ist so gelöst, dass Links auf der Webseite bei Modulen z.B. mit $sess->url("URL") erzeugt und ausgegeben werden sollten - sind keine Cookies aktiv, wird die Session über die URL weitergegeben.

Wenn Du also die Webseite ohne Cookies aufrufst, bekommst Du immer die Standardsprache. Solltest Du Cookies verwenden, empfehle ich ein <Strg>-<F5>, i.A. zeigt der Browser zunächst die gecachte Version der Webseite, nachdem man die Sprache gewechselt hat.

Die Standardsprache legst Du in der config.php im Mandanten-Verzeichnis fest.

Gruß
HerrB

Verfasst: Mo 20. Feb 2006, 12:20
von asycs
verstehe ich schon.

abgesehen von der session id in der url.
der wechsel zwischen den sprachen funktioniert nicht.

bitte einfach mal die länderflaggen auf
http://manetu.de/csw/cms/cms

durchklicken.

die url ändert sich zwar, aber die sprache eben nicht.


ich hatte bspw. deutsch offen und wechsele nun zu französisch.
dann erscheint zwar die url:
http://manetu.de/csw/cms/cms/front_cont ... 9&client=1

in der adressleiste, aber die einzelnen frames werden eben falsch geladen.

wenn ich dann die browsersession beende, also alle fenster schließe und die url direkt aufrufe:
http://manetu.de/csw/cms/cms/front_cont ... 9&client=1

dann wird mir die französische version angezeigt.

Verfasst: Mo 20. Feb 2006, 12:58
von MichFress
Benutze nicht "lang=1" sondern "changelang=1". Das funktioniert besser...

Verfasst: Mo 20. Feb 2006, 14:01
von asycs
hab ich mir gedacht, dass das kommt.
nee, passt schon.

es heißt "changelang.php?lang=1" nicht

"front_content.php?changelang=1"


ich rufe einfach eine eigene php seite auf. (warum, wieso ist hier nicht relevant)

diese leite dann entsprechend weiter.
url in der adressleiste beachten!!

Verfasst: Mo 20. Feb 2006, 14:05
von asycs
einfach mal:

http://manetu.de/csw/cms/cms/front_cont ... t=2&lang=9

aufrufen (französisch).

dann mal auf deutsch wechseln:
http://manetu.de/csw/cms/cms/front_cont ... t=2&lang=1


und was passiert bei euch?
es bleibt französisch!!

erst, wenn ich den browser schließe und dann die deutsche:
http://manetu.de/csw/cms/cms/front_cont ... t=2&lang=1

aufrufe wird diese mir auch angezeigt.

Verfasst: Mo 20. Feb 2006, 16:28
von mvf
warum wieso weshalb ??? keine ahnung, ABER
bei mir funzt des ganz normal mit dem sprachswitch aus der 464standard

Code: Alles auswählen

echo '<div class="language">';

switch($lang){
	case '2':
		//englisch -> deutsch
		echo '<a href="'.$sess->url('front_content.php?idcat='.$idcat.'&lang=1').'" class="language" title="zu Deutsch wechseln">'.mi18n("Deutsch").'</a>';
		break;
	default:
		//deutsch -> englisch
		echo '<a href="'.$sess->url('front_content.php?idcat='.$idcat.'&lang=2').'" class="language" title="change to English">'.mi18n("English").'</a>';
		break;
}
echo '</div>';
da gibt es keine problem nirgendwo :?

Verfasst: Mo 20. Feb 2006, 18:56
von asycs
es läuft.
changelang= statt lang=

Verfasst: Mo 20. Feb 2006, 19:04
von mvf
asycs hat geschrieben:es läuft.
changelang= statt lang=
das hättest du schon früher haben können, schau mal weiter oben ;)
MichFress hat geschrieben:Benutze nicht "lang=1" sondern "changelang=1". Das funktioniert besser...