[Variablen] Sprachauswahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] Sprachauswahl

    Hallo
    Wie weiter? Was mache ich falsch?
    ich habe ein dynamisches Menu und eine Sprachauswahl!
    Wenn ich im Menu eine Auswahl treffe, wird die Sprachauswahl nicht mit übernommem. Seit Tagen und Nächten versuche ich das Menu mit der Sprachauswahl zu kombinieren?
    Wie geht das?
    Mein Merci für eine Antwort auf dieses Problem


    Code sprachauswahl
    PHP-Code:
    <?php
    if (!$lang) {
     
    $lang "de";
    }
    $languagefile "language." $lang ".inc.php";
    include(
    $languagefile);
    ?>
    ************************************************************
    Code Link
    <a href="http://localhost/stellwerk/?lang=de">Deutsch</a>
    <a href="http://localhost/stellwerk/?lang=fr">Franz&ouml;sisch</a>
    <a href="http://localhost/stellwerk/?lang=en">English</a>
    ************************************************************
    Code menu
    <?php
    $siteRoot
    ="/stellwerk/";
    $menuStruct=array(
    "Home"=>array("root"=>$siteRoot."index.php"),
    "Über uns"=>array("root"=>$siteRoot."uns.php""Das Ziel"=>$siteRoot."ziel.php""Voraussetzungen"=>$siteRoot."voraus.php"),
    );
    if(
    $PHP_SELF == $menuStruct[0]['root']){
      foreach(
    $menuStruct as $key=>$value){
        if(
    $PHP_SELF == $value['root']){
           echo 
    "<div class=\"fstLevelActive\"><a href=".$value['root'].$sw.">$key</a></div>\n";
        }
        else{
           echo 
    "<div class=\"fstLevel\"><a href=".$value['root'].$sw.">$key</a></div>\n";
        }
      }
    } else {
      foreach(
    $menuStruct as $key=>$value){
        if(
    $PHP_SELF == $value['root']){
           echo 
    "<div class=\"fstLevelActive\"><a href=".$value['root'].$sw.">$key</a></div>\n";
        }else{
           echo 
    "<div class=\"fstLevel\"><a href=".$value['root'].$sw.">$key</a></div>\n";
        }
        foreach(
    $value as $key2=>$value2){
          if(
    array_search($PHP_SELF,$value)){
            if(
    $key2 != "root")
               if(
    $PHP_SELF == $value2){
                  echo 
    "<div class=\"secLevelActive\"><a href=".$value2.$sw.">$key2</a></div>\n";
               }else{
                  echo 
    "<div class=\"secLevel\"><a href=".$value2.$sw.">$key2</a></div>\n";
               }
          }
        }
      }
    }
    ?>
    EDIT:
    php-tags by wurzel
    Zuletzt geändert von Wurzel; 25.01.2004, 14:32.

  • #2
    hast du $lang mal mit echo ausgegeben? kommt da überhaupt was an?
    Kissolino.com

    Kommentar


    • #3

      Da klappt das Untermenu nicht mehr auf ?!

      ich habe beachtet, dass der Sprachparameter (im Bsp. $lang) von Seite zu Seite mitgeführt wird. Das probiere ich indem ich diesen Parameter direkt an jeden Link anhänge

      ***********************************************************
      $menuStruct=array(
      "Home"=>array("root"=>$siteRoot."index.php?lang=$lang"),
      "Über uns"=>array("root"=>$siteRoot."uns.php?lang=$lang", "Das Ziel"=>$siteRoot."ziel.php?lang=$lang", "Voraussetzungen"=>$siteRoot."voraus.php?lang=$lang"),
      );
      ***********************************************************

      Jetzt klappt das Untermenu nicht mehr auf
      Wie kriege ich das hin, dass die Sprache beigehalten wird, das Menu dabei noch fehlerfrei funktioniert und runterklappt?

      ein Tipp kann vielleicht helfen
      Gruss
      Renate

      Kommentar


      • #4
        $lang vielleicht lieber per session übergeben
        oder mal $_GET['lang'] probieren
        Signaturen sind Platzverschwendung!

        Kommentar


        • #5
          Bei diesem Versuch bleibt das Menu komplett weg. Habe ich da etwas falsch verstanden?

          "Über uns"=>array("root"=>$siteRoot."uns.php$_GET['lang'] ",

          Nun bleibt noch die Variante offen $lang per session zu übergeben.
          Das ist Neuland für mich. Doch möchte ich nun wirklich nichts unversucht lassen.
          Wie müsste das aussehen?
          Gruss
          Renate

          Kommentar


          • #6
            änder einfach mal die if abfrage am anfang in

            PHP-Code:
            if (!$_GET['lang'])
              
            $lang "de";
            else
               
            $lang $_GET['lang']; 
            und denr est lässt du so



            sessions
            Signaturen sind Platzverschwendung!

            Kommentar


            • #7
              Nach der Änderung klappt das Menu nicht mehr aus.
              Schade
              Gruss
              Renate

              ***********************************************
              <?php
              if (!$_GET['lang'])
              $lang = "de";
              else
              $lang = $_GET['lang'];
              $languagefile = "language." . $lang . ".inc.php";
              include($languagefile);
              ?>
              ************************************************
              "Home"=>array("root"=>$siteRoot."index.php?lang=$lang"),

              Kommentar


              • #8
                PHP-Code:
                <?php
                if (empty($_GET['lang']))
                {
                //ist $_GET lang leer wird lang_b mit "DE" gefüllt
                $lang_b "de";
                }
                else
                {
                //ist $_GET lang nicht leer wird lang_b mit $_GET lang gefüllt
                $lang $_GET['lang'];
                }

                $languagefile "language." $lang ".inc.php";
                include(
                $languagefile);
                ?>
                mfg
                marc75

                <Platz für anderes>

                Kommentar


                • #9
                  ich habe den letzter Tipp von marc75 probiert danke.
                  leider geht jetzt gar nichts mehr.

                  Ich nehme an dass hier etwas nicht stimmt:
                  ************************************************
                  <a href="http://localhost/stellwerk/?lang=de">Deutsch</a>
                  ************************************************

                  und somit wird das auch nicht richtig sein:
                  *************************************************
                  "Home"=>array("root"=>$siteRoot."index.php?lang=$lang"),
                  *************************************************
                  Für heute gebe ich es auf und hoffe dass ich morgen der Lösung näher komme,
                  wenn ich dazu noch einen Tip bekomme?
                  Gruss
                  Renate

                  Kommentar


                  • #10
                    Original geschrieben von Renate
                    ich habe den letzter Tipp von marc75 probiert danke.
                    leider geht jetzt gar nichts mehr.

                    Ich nehme an dass hier etwas nicht stimmt:
                    ************************************************
                    <a href="http://localhost/stellwerk/?lang=de">Deutsch</a>
                    ************************************************

                    und somit wird das auch nicht richtig sein:
                    *************************************************
                    "Home"=>array("root"=>$siteRoot."index.php?lang=$lang"),
                    *************************************************
                    Für heute gebe ich es auf und hoffe dass ich morgen der Lösung näher komme,
                    wenn ich dazu noch einen Tip bekomme?
                    Gruss
                    Renate
                    du hast hoffentlich nicht nur mein code kopiert und eingefügt? wenn ja dann kann es nicht funktionieren, da dort die variablen namen nicht identisch sind.
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      Hallo
                      Leider find ich den Zusammenhang nicht.
                      Ich habe mein Dokument mit Templates zusammengestellt. Eine davon ist die Navigation, eine andere die Sprachauswahl.
                      Das Script für die Sprachauswahl befindet sich jeweils im Inhaltsdokument.
                      Ändere ich die Sprache so werden die Variablen von [ language.en.inc.php ] im Inhalt z.B. in englisch angezeigt.
                      Wenn ich jetzt in der Navigation einen anderen Link anklicke, wird die Sprache nicht mit übernommen.

                      Wie baue ich diese Sprachauswahl-Variable in die Navigation ein?
                      Wie übergebe ich diese Variable?
                      Wie muss das aussehen?
                      ------------------------------------------------------------------------------------------------
                      navi.tpl

                      <table width="150" border="1">
                      <tr><td><a href="statisch.php?content=test12">Test 12</a></td></tr>
                      <tr><td><a href="statisch.php?content=test13">Test 13</a></td></tr>
                      <tr><td><a href="statisch.php?content=test14">Test 14</a></td></tr>
                      <tr><td><a href="statisch.php?content=test15">Test 15</a></td></tr>
                      </table>
                      ------------------------------------------------------------------------------------------------
                      sprache.tpl

                      <table border="0">
                      <tr><td><a href="http://localhost/sprachauswahl/?lang=de">Deutsch </a></td>
                      <td><a href="http://localhost/sprachauswahl/?lang=en">Englisch </a></td>
                      <td><a href="http://localhost/sprachauswahl/?lang=fr">Französisch </a></td></tr>
                      </table>
                      ------------------------------------------------------------------------------------------------
                      test12.php

                      <?php
                      if (empty($_GET['lang']))
                      {
                      //ist $_GET lang leer wird lang_b mit "DE" gefüllt
                      $lang_b = "de";
                      }
                      else
                      {
                      //ist $_GET lang nicht leer wird lang_b mit $_GET lang gefüllt
                      $lang = $_GET['lang'];
                      }
                      $languagefile = "language." . $lang . ".inc.php";
                      include($languagefile);
                      ?>
                      <br> <?php echo "$testBau";?>
                      ------------------------------------------------------------------------------------------------

                      Kommentar


                      • #12
                        Wie baue ich diese Sprachauswahl-Variable in die Navigation ein?
                        Wie übergebe ich diese Variable?
                        Wie muss das aussehen?
                        einfach dranhängen?

                        PHP-Code:
                        <tr><td><a href="statisch.php?content=test12&lang=<?PHP echo $_GET["lang"]; ?>">Test
                        schau dir den session-link an!

                        generell sollte dir bewußt sein, daß debug-ausgaben nur zum debuggen sind und u.U. dazu führen, daß dein design etc. zerhauen wird, aber: es sind ja nur debug-ausgaben!

                        EDIT:
                        haha, lustiger 'bug' in den code tags
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          PHP-Code:
                          ini_set('debug.display_for_debug_purposes_only'1); 
                          *scnr*
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            vielen Dank für die Anweisung. ich erhalte nun nachfolgende Fehlermeldung.

                            ---------------------------------------------------------------------------------------------------------------------------------------
                            Warning: Failed opening 'language..inc.php' for inclusion (include_path='') in c:\daten\sprachauswahl\test15.php on line 15
                            ---------------------------------------------------------------------------------------------------------------------------------------

                            Diese Fehlermeldung bezieht sich somit auf
                            include($languagefile);
                            ich sehe nicht was da falsch ist.

                            Kommentar


                            • #15
                              ich behaupte mal ganz unverfroren, dass du da einen punkt zuviel hast
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X