Hey,
Google hat mir nicht geholfen, aus den Manuals ist mir bis jetzt keine unumständliche Methode ersichtlich das zu realisieren.
Ich habe mir folgendermaßen einen Sprachwechsler realisiert (nach Roland Meyers TYPO3-Buch):
SPRACHE = COA
SPRACHE {
10 = TEXT
10 {
field = uid
wrap = <a href="index.php?|&L=0"><img border="0" src="fileadmin/bilder/deutsch.png" alt="" /></a>
}
20 = TEXT
20 {
field = uid
wrap = <a href="index.php?|&L=1"><img border="0" src="fileadmin/bilder/englisch.png" alt="" /></a>
}
Allerdings möchte mein Chef verständlicherweise Real-URLs haben (auch im Sprachwechsler).
Gibt es dafür einen einfach, direkten Weg? Etwas in die Richtung
field = alias
wrap = <a href="/sprache/|.html">
(geht leider nicht, weil es nicht zweckmäßig wäre für alle Seiten Aliase zu definieren.)
mit field = title stimmt die Syntax nicht (Groß- und Kleinschreibung, Umlaute, etc) und der Verzeichnisbaum geht auch futsch.
Hi tulkas,
bei RealURL bist Du eigentlich nur mit typolink auf der sicheren Seite...
So funktioniert es bei mir:
SPRACHE = COA
SPRACHE {
10 = IMAGE
10 {
file = fileadmin/bilder/deutsch.png
stdWrap.typolink {
parameter.data = TSFE:id
additionalParams = &L=0
}
}
20 = IMAGE
20 {
file = fileadmin/bilder/englisch.png
stdWrap.typolink {
parameter.data = TSFE:id
additionalParams = &L=1
}
}
}
Wenn Du kein IMAGE sondern TEXT verlinken willst, reicht "typolink" (statt "stdWrap.typolink").
Im "preVars"-Abschnitt der RealURL-Konfiguration kannst Du Folgendes eintragen:
...
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '1',
),
'valueDefault' => '0',
'noMatch' => 'bypass',
),
),
...
So wird nur bei den englischsprachigen Seiten ein "/en" an den Anfang der URL gestellt. Vorausgesetzt natürlich, dass Deutsch die ID 0 hat und der Default ist.
Grüße
Jochen
Sweet, works like a charm 🙂. Tausend Dank.
Hallo,
wir verwenden zur Zeit auch diese Art der Sprachumschaltung. Allerdings haben wir dabei folgendes Problem:
Wir verwenden die Extension multilingual_alias und realUrl um je nach Sprache eine entsprechend aussagekraeftige URL zu generieren.
Bsp: http://meineDomain.de/deutscher-alias.html und http://meineDomain.de/en/englischer-alias.html
(Der Alias wird deswegen verwendet, weil dies vorher mit simulatestatics realisiert wurde und wir eine Rueckwaertskompatibilitaet fuer Google sicherstellen muessen)
Das Problem mit der Sprachumschaltung ist nun, dass wir mit dem hier angefuehrten Codeteil immer einen Link mit dem "falschen" Alias (in der aktuellen Sprache) erzeugt bekommen.
Das Problem ist auch einleuchtend, wenn man sich folgendes Beispiel vor Augen fuehrt:
Wir befinden uns auf einer deutschen Seite. Der Link fuer die englische Seite wird im deutschen "Umfeld" erzeugt, wodurch auch der deutsche Alias verwendet wird. Bsp.: http://meineDomain.de/en/deutscher-alias.html
Das /en/ wird von realurl eingefuegt, weil ja der Parameter &L=1 im TypoLink angehaengt wird.
Durch das /en/ funktioniert die Umschaltung und die Folgelinks enthalten auch den englischen Alias, aber eben das erstmalige Umschalten laeuft nicht sauber.
Eigentlich wuerde mich das nicht so stoeren, aber Google listet nun oft diese "vermischten" Urls auf :-(
Hat jemand eine Idee, wie man das in den Griff bekommen kann?
Ich habe heute versucht mittels Typoscript den englischen Alias aus der Table pages_language_overlay zu lesen, jedoch wird hier nie etwas zurueckgegeben und die Debugmoeglichkeit (sqldebug im Installtool) scheint nicht zu funktionieren.
Ich wollte mithilfe des englischen Alias einfach den Link zum Umschalten selbst zusammenstellen.
Gibt es jemanden, der das Umschalten mit multilingual_alias sauber loesen konnte? Bin fuer jeden Hinweis dankbar!
Tom
Also ein Auslesen des alias aus dem Table pages_language_overlay mit CONTENT und RECORD im TypoScript ist nicht moeglich.
RECORD benoetigt eine UID (auf pages_language_overlay muesste aber mit der pId zugegriffen werden). Siehe: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Records/Index.html
CONTENT: NOTE: Only tables allowed are “pages” or tables prefixed with one of these: “tt_”, “tx_”, “ttx_”, “fe_”, “user_”. Siehe: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Content/Index.html
Hat jemand eine andere Idee, wie ich die Sprachenumschaltung sonst sauber machen koennte?
Thx, Tom
Ich habe nun das Problem geloest, indem ich mir eine eigene Extension dafuer geschrieben habe.
Wenn jemand das gleiche Problem hat und meine Extension haben will, kann er mir gerne eine PM mit seiner Email-Adresse schicken.
Greetings Tom
hmm, ich versuche auch diesen sprachwechsler zu realisieren. habe noch nicht viel erfahrung mit typo3.
der sprachwechsler funktionirt erst halbwegs.
was mir nicht klar ist:
der "preVars"-Abschnitt der RealURL-Konfiguration. bei mir finde ich nirgens einen solchen abschnitt.
in welcher datei befindet sich der?! localconf.php. ext.localconf.php?! ---> bei mir auf jeden fall ist da kein solcher abschnitt vorhanden.
das manual der realurl ist für ich noch etwas heavy.
was muss ich da also wie genau einfügen?!
thx