Zum Inhalt springen

Bei Sprache = 0 wird Parameter L nicht angehängt

Erstellt am 4. Mai 2009 · 3 Antworten · letzte Antwort am 7. Juni 2009

Tags: Links, Frage

made ·

Hallo,

ich habe eine mehrsprachige Webseite, 0 ist dabei die Englische Sprache. Nun habe ich mir eine kleine Sprachweiche programmiert, die mir die Länderflaggen ausgibt und je nach eingestellter Browsersprache sofern der Parameter L nicht vorhanden ist direkt auf die vorhandene Sprache weiter leitet. Funktioniert so weit auch sehr gut, mein Problem liegt darin, dass er bei den englischen Seiten in den Menüs und Links den Parameter L nicht anhängt. Bin ich z.B. auf der deutschen Seite, sehe ich den Link als index.php?id=123&L=1, befinde ich mich auf der englischen Seite, lautet der Link allerdings nur index.php?id=123. Das L fehlt hier. Ärgerlich ist das ganze, weil meine Umleitung dann natürlich zuschlägt und mich auf die im Browser eingestellte Sprache umleitet.
Kann ich TYPO3 irgendwie zwingen den Parameter auch bei der Standardsprache noch anzuhängen oder müsste ich praktisch Englisch auch als Sprache setzen?

Vielen Dank

Marc

just2b ·

Hallo,

ich versteh eines nicht. warum prüfst du nicht einfach ob kein Wert gesetzt wird, das entspricht dann L=0

georg

made ·

Hallo Georg,

genau das mache ich doch, sobald kein Wert gesetzt ist, leite ich den Benutzer auf die Sprache, die er in seinem Browser eingestellt hat.
Was aber nun, wenn folgendes passiert: ein Benutzer, der kein Deutsch spricht, ist an einem Browser, der auf Deutsch eingestellt ist. Er klickt auf die englische Sprache und erhält die Seite in englisch. Dann ruft er einen Link auf. Da der Parameter L=0 nicht mitgegeben wird, wird er also wieder auf die deutsche Version umgeleitet. Genau das möchte ich verhindern, daher möchte ich TYPO3 dazu "zwingen" den Parameter L immer anzuhängen, auch wenn die Seite grade in der Standardsprache angezeigt wird.

Verständlich, was mein Problem ist?

Grüße

Marc

igorshmigor ·

Es ist schwierig, den Fehler zu finden, wenn man das TypoScript-Template nicht sieht. Generell übergibt TYPO3 die linkVars-Parameter auch, wenn ihr Wert 0 ist.
Hat der Link zur englischen Version bereits den Parameter L=0? Wird der Parameter in der automatischen Weiterleitung mit angegeben? Wenn nicht, dann könnte es daran liegen.
TYPO3 hängt die linkVars-Parameter in automatisch oder per typolink generierten Links immer nur an, wenn Sie bereits einmal übergeben wurden. Sprich: wenn die Seite mit der URL index.php?id=45&L=0 aufgerufen wurde, dann enthalten auch alle Links den Parameter L=0. Wurde die Seite jedoch mit der URL index.php?id=45 aufgerufen, also ohne L in GET-Parametern der URL, dann fehlt dieser Parameter auch in den Links.