PHP-Script bei Seitenaufruf starten

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 11:47

    Hallo,
    nachdem ich es nicht hinbekomme, beim Seitenaufruf die Sprache zu wählen, die der Browser eingestellt hat, dachte ich mir folgendes.
    Ich schreibe ein kleines Script das beim Seitenaufruf den Browser abfragt und dann zur betreffenden URL weiterleitet.
    Hier mal mein PHP-Script:

    1. <?PHP
    2. $clientLanguages = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    3. $mainClientLanguage = substr($clientLanguages,0,2);
    4.  
    5. if ($mainClientLanguage == "de" ){
    6. include_once ($_SERVER['DOCUMENT_ROOT']."index.php?id=1&L=0" );
    7. }
    8. else if($mainClientLanguage == "en" ){
    9. include_once ($_SERVER['DOCUMENT_ROOT']."index.php?id=1&L=1" );
    10. }
    11. else{
    12. include_once ($_SERVER['DOCUMENT_ROOT']."index.php?id=1&L=0" );
    13. }
    14. ?>

    Wie, und wo kann ich sowas einbauen, damit endlich mal meine automatische Sprachauswahl beim Seitenaufruf funktioniert?


  • 1
  • lavitto lavitto
    R2-D2
    0 x
    68 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 11:51

    Hi cherry

    Schau dir mal die Ext. rlmp_language_detection an, mit der habe ich gute Erfahrungen gemacht.

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 13:02

    Hallo, die habe ich schon probiert, da tut sich leider nichts, das funktioniert irgendwie nicht bei meiner Installation.

  • lavitto lavitto
    R2-D2
    0 x
    68 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 14:15

    Dann lädst du das PHP-Script am besten mit dem entsprechenden TS-Object:
    [url=http://www.typo3.net/tsref/cobject/php_script/]http://www.typo3.net/tsref/cobject/php_script/[/url]

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 16:33

    Aber wenn ich das direkt ins Template setze, dann erfolgt ja der Aufruf beim anklicken jeder Unterseite. Es soll aber nur einmal, und zwar wenn der User die URL in den Browser getippt hat und die Anfrage abgeschickt hat, ausgeführt werden.

  • lavitto lavitto
    R2-D2
    0 x
    68 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2012, 10:59

    Damit die Funktion nur beim ersten Aufruf ausgeführt wird, musst du mit Cookies arbeiten. Du musst auch überprüfen, ob in der URL bereits eine Sprache mitgegeben wird (z.B. bei Direktlinks von extern).

    Ich kann dir wirklich nur empfehlen rlmp_language_detection genauer anzusehen, da ist die komplette Funktionalität bereits enthalten.

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    14. 11. 2012, 01:43

    Hallo Cherry,

    mir ist nicht ganz klar, wieso du wegen ein und dem selben Problem mehrere Threads aufreisst, statt einen zu Ende zu bringen ( [url=http://www.typo3.net/forum/beitraege/mehrsprachigkeit/112542/]Sprachwahl bei Seitenaufruf[/url].

    Wenn dir die Cookie-Methode nicht gefällt könntest du alternativ auch mit $_SERVER['HTTP_REFERER'] prüfen ob der Besucher von "ausserhalb" kam oder der Aufruf über einen deiner eigenen, internen Links kam.

    God's in his heaven, all's right with the world

  • cherry cherry
    Jedi-Meister
    0 x
    415 Beiträge
    0 Hilfreiche Beiträge
    14. 11. 2012, 17:32

    Stimmt, da hab´ ich "Blödsinn" gemacht, mit dem 2. Thread.

    Gibt es evtl. die Möglichkeit, das Ganze in einer htaccess-Datei zu machen, so das der Server auf die ein oder andere Seite verwiesen wird, je nach Browsersprache.
    Mit der rlmp_language_detection Extension habe ich schon Stunden, ohne Erfolg, zugebracht.

  • neotron neotron
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    29. 11. 2012, 19:10

    Hallo Allerseit,

    warum wird das nicht mit TYPO3 conditions gelöst?

    [globalVar = xxx]

    und

    [language = lang1, lang2, ...]

    helfen dabei doch perfekt.

  • 1