Zum Inhalt springen

config.linkVars = L wird nicht übergeben

Erstellt am 3. August 2006 · 12 Antworten · letzte Antwort am 7. Januar 2008

Tags: Links, Frage

Flo99 ·

Huhu liebe Community,

ich bin grade dabei eine Mehrsprachigkeit für meine Seite zu integrieren, die im Prinzip auch ganz fein funktioniert. Je nachdem ob ich zb. www.test.com/test.html?L=1 oder www.test.com/test.html?L=2 übergebe, wird die jeweilig korrekte Sprache angezeigt.

Mein Problem sind die ganzen Links/Menulinks auf der Seite. Sollten diese nicht automatisch L mit übergeben wenn folgender Parameter gesetzt ist?

config.linkVars = L

Oder muss ich das manuell irgendwie machen das die Links auf meiner Seite auch ?L=x enthalten?

Flo

zapp-it ·

hi!

einfach das hier in dein typoscript-setup eintragen

config.linkVars = L
config.sys_language_uid = 0
config.language = de

[globalVar = GP:L = 1]
   config.sys_language_uid = 1
   config.language = en
[global]

und dann bei einfach immer das

seite.xxx.marks.inhalt {
              table = tt_content
              select.orderBy = sorting
              select.where = colPos = 0
              select.languageField = sys_language_uid
              }

dazuschreiben, außer im menü, da müsste es automatisch funktionieren...
"colPos" steht dabei für eine Position in der datenbank...
der wert 0 ist in typo3 der breich "mitte" in typo3, bei dem du datensätze hinzufügst...
1 ist links
2 rechts
3 sonstiges...

wenn du die zeilen eingegeben hast, sollten links auf z.b. englischen seiten auch auf englische seiten linken..

ja, sie bekommen dann einfach ein &L=xxx übergeben (aber eben automatisch).

grüße!

Flo99 ·

Dank für die Antwort zapp. Hat super geklappt!

Aber ein kleines Problem hab ich damit noch. Denn das ?L=x hängt nicht initial an der Domain an wenn man diese aufruft. Mir ist schon bewusst das das von alleine natürlich nicht so ist. Leider habe ich auch keine passende Lösung für gefunden 🙁

Das heisst, wenn jemand auf www.domain.de geht, dass autom. ?L=1 ist, und wenn er auf www.domain.it geht, es ?L=2 ist.
Wie ich den Hostname bzw. die Domain heraus bekomme weis ich:

[globalString = ENV:HTTP_HOST=www.domain.de]
config.baseURL = http://www.domain.de/
[global]
[globalString = ENV:HTTP_HOST=www.domain.it]
config.baseURL = http://www.domain.it/
[global]

Aber wie kann ich ausser der config.baseURL noch zusätzlich die linkVar auf 1 bzw. 2 setzen.

Hoffe ich hab mich nicht zu unverständlich ausgedrückt ;-)

Danke für eure Hilfe

zapp-it ·

hi!

du linkst einfach auf deine anderssprachige seite:

config.baseURL = http://www.domain.it/index.php?id=1&L=2

damit stelltst du beim aufrufen der seite die variable L auf deine gewünschte sprache.
wie es sonst geht weiß ich auch nicht, aber ich denke, das hier wäre eine möglichkeit.

gruß

Flo99 ·

War zwar eine gute Idee, nur leider klappt sie nicht 😢
Er scheint getrost alle Parameter die ich an die baseURL hänge zu ignorieren

Ideas any1?

cordman ·

config.linkVars erlaubt lediglich die Benutzung der Variablen (L, etc.) bzw. deren Weitergabe.
Man muß sie jedoch selber "aktivieren" wie z.B. in einem Sprachwechsler!

Nickolai ·

verdammt, gibts da gar keine andere möglichkeit? Ich stehe da so ziemlich vor dem selben Problem, wenn L mal gefüllt ist, wird sie an alle Seiten übergeben.

Aber wenn der user über einen direkten Link einsteigt (passiert zb auch mit der tip-a-friend ext) gibts keine L und ein selbstgebasteltes PHP-Skript das ebenfalls auf allen Seiten implementiert wird, kommt ohne die Variablen nicht weiter.

Gibts denn da gar keine Möglichkeit, die Variable per TS schon beim Einstieg zu füllen?

just2b ·
Nickolai schrieb

verdammt, gibts da gar keine andere möglichkeit? Ich stehe da so ziemlich vor dem selben Problem, wenn L mal gefüllt ist, wird sie an alle Seiten übergeben.

Gibts denn da gar keine Möglichkeit, die Variable per TS schon beim Einstieg zu füllen?

was ist denn das für ne sprache? wenn L nicht gesetzt ist, entspricht das einfach einem L=0. wenns unbedingt in der url stehen muss, musst du einfach ein header location mit dem parameter machen

georg

Nickolai ·

Oh, damit war keiner der Threadschreiber gemeint, eher mein eigenes Ärgernis 🙂 entschuldige wenn ich damit jemandem auf den schlips getreten bin... In diesem Sinne: "verflixt"

Naja, es muss tatsächlich in der URL stehen sobald in die Seite eingestiegen wird, unabhängig ob der user über die startseite reinkommt oder sich anderweitig einklinkt. Das mit der header-location klingt nach einem sehr guten Ansatz, dazu müsste ich dann aber die index.php manipulieren richtig?

Nickolai ·

hm, damit kenne ich mich wohl noch nicht genug aus, da verstehe ich bei beiden leider nur bahnhof. Das mit der index habe ich bereits getestet und soweit klappt das auch, wenn ich das zb folgendermassen mache

header("Location: ". $_SERVER['REQUEST_URI']."&L=en");

Problematisch allerdings, dass L nun den festen Wert en erhält, leider sind es mehrere Trees mit verschiedenen Sprachen, ergo müsste ich L aus Typo in PHP reinkriegen.

Hast du da eventuell noch Ansätze, würde mir ansonsten auch das mit den user functions ansehen wenn du mir sagen kannst nach was ich da genau suchen soll

Nickolai ·

besten dank, übersteigt zur zeit definitiv meinen horizont aber ich habs mir für spätere zeiten mal gebookmarked 🙂