Mehrsprachige, dynamische Seiteninhalte und RealURL

  • caomhan caomhan
    Jedi-Ritter
    0 x
    133 Beiträge
    1 Hilfreiche Beiträge
    15. 09. 2010, 19:44

    Hallo liebe Leute,

    ich habe schon ewig lange gegoogelt und verschiedene Lösungsansätze versucht.
    Aber um ehrlich zu sein war das alles Müll (was in Verzweiflung in meinem Hirn abging) und hätte jetzt gerne mal einen Tipp eurer Seite:

    Ich habe eine Extension erstellt, die Datensätze aus Sysfolder "Fische" ausliest und auflistet. Diese Datensätze gibt es auch Übersetzt in Englisch. Das Ausgeben der Liste der Datensätze für die jeweilige Sprache funktioniert auch.

    Die Datensätze sind wie folgt erstellt:

    Fische (Sysordner):
    - Fisch 1 DE
    - Fisch 1 EN
    - Fisch 2 DE
    - Fisch 2 EN
    - Fisch 3 DE
    - Fisch 3 EN
    - Fisch 4 DE
    - Fisch 4 EN
    ...

    Also, fein Übersetzt mit TYPO3.

    Die Ausgabe der Liste funktioniert wie gesagt wunderbar. RealURL Pfade werden auch super schön und korrekt erzeugt:
    http://www.domain.de/de/seite-xy/fische/fisch-1-de/ - Datensatz UID 1
    http://www.domain.de/en/seite-xy/fische/fisch-1-en/ - Datensatz UID 2

    [b]Das Problem [/b]welches ich nun habe:

    Befinde ich mich auf einer Fischseite wie zum Beispiel die oben genannte, weiß ich nicht wie ich die Funktion des Sprachwechselns umsetzen soll. Wechsle ich die Sprache nach Englisch, bleibt natürlich die UID des Datensatzes dieselbe und es entsteht folgende Seite:

    http://www.domain.de/[b]en[/b]/seite-xy/fische/fisch-1-de/

    Jedoch mit deutschem Datensatz-RealURL-Pfad (da es ja die UID des deutschen Datensatzes auf Englischer Seite ist) und daher wird auch kein Datensatz angezeigt (ist ja auch richtig).

    [b]Die Frage nun:[/b]

    Wie bekomme ich es hin, dass wenn ich auf der deutschen Fisch 1 Detailsseite bin (www.domain.de/de/seite-xy/fische/fisch-1-de/), dass der Sprachwechsler auf folgendes verweist:

    Deutsch (dasselbe): http://www.domain.de/de/seite-xy/fische/fisch-1-de/ - Datensatz UID 1
    Englisch: http://www.domain.de/en/seite-xy/fische/fisch-1-en/ - Datensatz UID 2

    Anbei mal das TypoScript des Sprachwechsler, wenn man sich auf einer Fisch-Detail Seite befindet:

    tx_divevideos_pi1[vID]ist die ID des Datensatzes.

    1. [globalString = GP:tx_divevideos_pi1|vID = *]
    2. lib.menu_right {
    3. 10 {
    4. typolink.additionalParams = &L=0&tx_divevideos_pi1[vID]={GPvar:tx_divevideos_pi1|vID}
    5. typolink.additionalParams.insertData = 1
    6. }
    7.  
    8. 20 {
    9. typolink.additionalParams = &L=1&tx_divevideos_pi1[vID]={GPvar:tx_divevideos_pi1|vID}
    10. typolink.additionalParams.insertData = 1
    11. }
    12. }
    13. [global]

    Vielleicht habt ihr ja eine Lösung dazu...
    Wäre natürlich schön, wenn jemand einen entsprechenden Tipp liefern könnte.

    Vielen herzlichen Dank!


  • 1
  • extension22 extension...
    Sternenflotten-Admiral
    0 x
    208 Beiträge
    0 Hilfreiche Beiträge
    16. 09. 2010, 10:32

    [quote="caomhan"]
    ...
    [b]Die Frage nun:[/b]

    Wie bekomme ich es hin, dass wenn ich auf der deutschen Fisch 1 Detailsseite bin (www.domain.de/de/seite-xy/fische/fisch-1-de/), dass der Sprachwechsler auf folgendes verweist:

    Deutsch (dasselbe): http://www.domain.de/de/seite-xy/fische/fisch-1-de/ - Datensatz UID 1
    Englisch: http://www.domain.de/en/seite-xy/fische/fisch-1-en/ - Datensatz UID 2
    [/quote]

    Das ist imho der falsche Ansatz. Du mußt auch in englisch die gleiche ID aufrufen, wie für den englischen Datensatz.
    In Deiner ext. merkst Du aber, das L=1 ist, und findest über die Verknüpfung l10n_parent den korrekten englischen Datensatz.
    Wenn Du mit extbase programmierst, geht das sogar völlig automatisch.

    Grüße,
    Ext. 22

  • 1