RealUrl: Sprachabhängige Konfiguration

  • Freshmeat Freshmeat
    Sternenflotten-Admiral
    0 x
    194 Beiträge
    0 Hilfreiche Beiträge
    23. 02. 2009, 18:00

    Hallo Forum

    Ich machte mich heute mal daran die Konfiguration von RealUrl genauer unter die Lupe zu nehmen. Dabei wollte ich vorallem erreichen das man verschiedene Konfigurationen für die einzelnen Sprachen hinterlegen kann.

    Zum Beispiel das es bei tt_news nicht überall heisst "article/newstitel.html" sondern eben sprachabhängig "artikel/newstitel.html" oder "article/newstitle_englisch.html".

    Ich glaube auch einen ganz netten Ansatz zur Lösung gefunden zu haben. Aber dieser scheitert leider an einem trivialen Problem.

    Und zwar wollte ich verschiedene Konfigurationsparameter zu Beginn der realurl.conf definieren. (abhängig von der Sprache)

    1. switch($_GET['L']) {
    2. case "1":
    3. $sql_field = 'l18n_parent';
    4. $txt_categorie = 'kategorie_fr';
    5. $txt_product = 'produit';
    6. break;
    7. case "2":
    8. $sql_field = 'l18n_parent';
    9. $txt_categorie = 'kategorie_it';
    10. $txt_product = 'prodotto';
    11. break;
    12. default:
    13. $sql_field = 'uid';
    14. $txt_categorie = 'kategorie';
    15. $txt_product = 'produkt';
    16. break;
    17. }

    Wie ihr seht frage ich mittels $_GET['L'] den Sprachparameter ab. Das ist in dieser Form natürlich absolut unbrauchbar, da:
    1) keine Überprüfung auf fehlerhafte Eingaben. (Manipulation)
    2) dieser GET-Parameter gar nicht verfügbar ist, wenn die Seite über http://www.domain.tld/sprache/seite.html aufgerufen wird.

    Lange rede, kurzer Sinn: [b]Wie greife ich am besten auf die Sprachvariable zu (bei eingeschaltetem RealUrl) ?[/b]

    Am besten wäre natürlich wenn ich die Variable $GLOBALS['TSFE']->sys_language_uid nutzen könnte. Die wäre ja schon vom Core richtig geprüft und geliefert. Aber muss ich die einbinden?


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    79 Hilfreiche Beiträge
    23. 02. 2009, 19:05

    Diese eigenwillige Konstruktion habe ich zwar so noch nie gesehen, aber warum eigentlich nicht?

    1) Was soll den manipuliert werden? So wie du $_GET nutzt, kann meiner Meinung nach keine Manipulation passieren (Im Notfall eben mit intval sicher stellen, dass es sich hierbei um Integer handelt

    2) Das funktioniert so schon, du hast nur vergessen den Fall mit aufzunehmen, wenn L überhaupt nicht gesetzt wurde

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • Freshmeat Freshmeat
    Sternenflotten-Admiral
    0 x
    194 Beiträge
    0 Hilfreiche Beiträge
    24. 02. 2009, 09:11

    [quote="einpraegsam.net"]
    Diese eigenwillige Konstruktion habe ich zwar so noch nie gesehen, aber warum eigentlich nicht?
    [/quote]

    Gibt es einen anderen, besseren Weg?

    [quote="einpraegsam.net"]
    1) Was soll den manipuliert werden? So wie du $_GET nutzt, kann meiner Meinung nach keine Manipulation passieren (Im Notfall eben mit intval sicher stellen, dass es sich hierbei um Integer handelt
    [/quote]
    Versteh ich grad nicht. Manipuliert werden soll die Generation der Links. Und die Abfrage des $_GET-Parameters sollte so schon richtig sein.

    [quote="einpraegsam.net"]
    2) Das funktioniert so schon, du hast nur vergessen den Fall mit aufzunehmen, wenn L überhaupt nicht gesetzt wurde
    [/quote]
    [i]default:[/i] sollte das abfangen.

  • Freshmeat Freshmeat
    Sternenflotten-Admiral
    0 x
    194 Beiträge
    0 Hilfreiche Beiträge
    27. 02. 2009, 10:23

    *push*

  • 1