Sprachauswahl in einer include navigation

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

  • Sprachauswahl in einer include navigation

    Hallo zusammen,

    ich hatte schon befürchtet ich komme an den Punkt wo ich es verfluchen
    werde auf die Idee gekommen zu sein, die Navigation per include zu integrieren

    Aber .. man lernt ja nie aus und ich hoffe mit Eurer Hilfe gibt es eine Lösung für
    mein Problem.

    Ich habe eine Navigation per include auf jeder Seite eingebunden +
    jede Seite hat einen Namen. Es gibt zwei Sprachversionen englisch in Ordner
    "eng" spanisch in Ordner "es".

    Bisher hatte ich eine Sprachauswahl auf jeder Seite.

    HTML-Code:
    <form name="form" id="form" class="languageform">
    <select name="link" size="1" onchange="window.location.href = document.form.link.options[document.form.link.selectedIndex].value;">
    <option value="p-maxx.html">English</option>
    <option value="../es/p-maxx.html">Spanish</option>
    </select>
    </form>
    Meine zukünftige Navigation.php sieht so aus im Moment:
    HTML-Code:
    <ul>
    <li><a href="<?php echo "/".trim(str_replace(str_replace("\\", "/", $_SERVER["DOCUMENT_ROOT"]), '', str_replace("\\", "/", dirname(__FILE__))), "/"); ?>/index.php";" 
    	<?php if ($currentPage=="index") echo "class=\"on\""; ?>>Startseite</a></li>
    <li><a href="<?php echo "/".trim(str_replace(str_replace("\\", "/", $_SERVER["DOCUMENT_ROOT"]), '', str_replace("\\", "/", dirname(__FILE__))), "/"); ?>/leistungen.php";" 
    	<?php if ($currentPage=="leistungen") echo "class=\"on\""; ?>>Leistungen</a></li>
    </ul>
    Jetzt die Frage:

    Wie bekomme ich eine Link auf ein Flaggensymbol z.B. - muss kein Formular sein -
    der mir die Seite ausliest und die gleiche Seite im jeweils anderen Sprachordner/verzeichnis
    raussucht?
    Pro Sprachversion gibt es ne extra Navigation.php, also müsste nur sowas sagen wie:

    "check ich bin auf Seite es/leistungen.html Link geht auf eng/leistungen.html"

    Geht das? Und falls ja - wie?

    Hoffnungsvolle Grüße Fe

  • #2
    "check ich bin auf Seite es/leistungen.html Link geht auf eng/leistungen.html"
    Na, wenn der Dateiname wirklich identisch ist, solltest du eigentlich kein Problem haben. Woran genau scheiterst du?

    Kommentar


    • #3
      Ich weiss nicht wie ich den Link in php schreiben kann, damit er das macht
      also:
      HTML-Code:
      <a href="<?php echo "hier brauche ich einen php befehlt der die aktuelle Seite
       ausliest und dann auf ../ in es/ausgelesenerdateiname.html reinverlinkt">spanische Seite</a>
      ist das kompliziert?
      ich kann doch nur copy und paste!

      danke! lg Fe

      Kommentar


      • #4
        Ja, das merke ich. Den Code dafür hast du längst verwendet. Jetzt muss du schmerzhaft erkennen, dass Copy&Paste nichts mit Programmieren zu tun hat.

        Um der Lösung näher zu kommen, schau dir mal die Ausgabe von $_SERVER mittels print_r() an. Da suchst du dir die passende Variable aus und verwendest die für deinen Link.

        Es könnte dir auch helfen, wenn du deinen bereits geschriebenen Code noch mal versuchst nachzuvollziehen.

        Kommentar


        • #5
          oke super .. das verschiebe ich dann auf morgen mit frischem kaffee im hirn
          aber vielen dank schonmal für die hilfe!! ich werde berichten oder jammernd
          zurückkommen

          gutenacht Fe

          Kommentar


          • #6
            *jammer* ich komme nicht dahinter ... da fehlen zuviele Grundlagen
            und die kann ich für die Projektdauer nicht erarbeiten

            besteht die Möglichkeit, dass mir einer hilft *grosse.augen.klimper*
            ich zeig euch auch meine kläglichen versuche ...

            ich möchte die gleiche datei - also selber name - in einem
            anderen verzeichnis aufrufen ...

            eng/index.php
            soll
            es/index.php
            werden
            ebenso andere dateinamen dann

            <a href="../es/<?php echo print_r($_SERVER["DOCUMENT_NAME"]); ?>" title="Spanish">Spanish</a>

            liegt bestimmt an dem "DOCUMENT_NAME" oder? wie sag ich denn wie das file heisst?
            hoffnungsvolle grüße Fe

            Kommentar


            • #7
              Ich bin mir ziemlich sicher, dass es am print_r() liegt. Das ist dort absolut fehl am platz und sollte dir auch auffallen, wenn du in den HTML-Quelltext der Seite guckst.

              Im Manual steht auch noch mal ausführlich, was print_r macht und wofür es gut ist.

              Kommentar


              • #8
                hab die lösung! aber mit hilfe ... ich wäre da auch nicht drauf gekommen

                <a href="<?php echo str_replace("/eng/", "/es/", $_SERVER["REQUEST_URI"]); ?>" title="Spanish">Spanish</a>

                trotzdem vielen dank für die anlern-bemühungen!

                Kommentar

                Lädt...
                X