Beste Methode zur Site-Navigation mit PHP?

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

  • Beste Methode zur Site-Navigation mit PHP?

    Hallo!

    Seit einigen Tagen suche ich nach der besten Möglichkeit eine Site-Navigation zu erstellen. Damit meine ich keine grafischen Menüs oder so, sondern die Navigations-Methode!

    1. Frage:
    Ist es besser z.B. eine index.php mit Design-Elementen zu erstellen und dann die Inhaltsseiten mit include einzubinden, oder sollte man die Design-Elemente in die Inhaltsseiten einbinden?

    2. Frage:
    Wie schaffe ich es, dass sich der Titel der Seite <title></title> ändert wenn ich mich dazu entscheide die Inhaltsseiten in die z.B. index.php einzubinden?

    3. und letzte Frage:
    Ich würde die Navigation gerne so realisieren:
    <a href="index.php?content=news">News</a> um zur news.php zu gelangen. Gibt es hierzu ein empfehlenswertes Tutorial bzw. ein fertiges Script? Wenn ja welches ist das Beste?

    Ich hoffe Ihr könnt mir helfen!? Vielen Dank schon im Voraus!!!

    MfG
    NeoTGH

  • #2
    hi,

    zu 1.: ich würde abhängig vom Aufbau Teile in der index.php abbilden, d.h. wenn du immer wiederkehrende Teile hast (Footer, Header mit Logo, Banner etc.) dann würde ich diese in der Basis-Datei platzieren und nur die wirklichen Inhalte austauschen. Spart Verwaltungsaufwand. Diese Teile kann man ja auch nochmals als includes auslagern

    zu 2.: wenn du die index.php wie unter 3. beschrieben mit ?content=news aufrufst, dann weißt du doch, wie die Seite heissen muss. Einfach in einem include-File entweder über ein switch(), per if-Anweisung oder Array-Zuweisung den Titel auslesen und ausgeben.

    zu 3.: versteh ich nicht. Weiß nicht, warum du da ein Tutorial brauchst. Was ist denn unklar?

    Kommentar


    • #3
      Beispielscript

      Danke ersmal für die schnelle Antwort!

      Ich hab mal ein kurzes Beispiel geschrieben, in dass ich jetzt noch der Code für den Seitentitel muss. Wie könnte so was aussehen?

      <html>
      <head>
      <title><?php ??? ?></title>
      </head>
      <body>
      <table border="1">
      <td>
      <a href="index.php?content=news">News</a><br>
      <a href="index.php?content=downloads">Downloads</a><br>
      <a href="index.php?content=faq">FAQ</a>
      </td>
      <td>
      <?php
      if(isset($content)) {
      include($content.".php");
      } else {
      include("start.php");
      }
      ?>
      </td>
      </table>
      </body>
      </html>

      P.S.: Hab das komplette Beispiel angehängt!

      Vielen Dank! NeoTGH
      Angehängte Dateien

      Kommentar


      • #4
        Ist doch alles richtig.

        Den Titel solltest du aus einer DB auslesen (Where xx = $content)

        Statt dem isset besser gucken, ob datei überhaupt da ist.

        Besser nicht so oft zwischen PHP und HTML wechseln. HTML besser per Echo ausgeben.

        Betreff deines Tuts: Einfach mal Suchen, ist keine Woche her, da hatten wir das noch als Thema!!!

        Kommentar


        • #5
          könnte so aussehen:

          PHP-Code:
          <?php
          switch ($content)
              {
              case 
          "news"$title="Mein Title für News"; break;
              case 
          "downloads"$title="Downloads für jedermann"; break;
              case 
          "faq"$title="Frequently Asked Questions"; break;
              default: 
          $title="Meine Homepage";
              }

          echo 
          '<html>
          <head>
          <title>'
          .$title.'</title>
          </head>
          <body>
          <table border="1">
          <td>
          <a href="index.php?content=news">News</a><br>
          <a href="index.php?content=downloads">Downloads</a><br>
          <a href="index.php?content=faq">FAQ</a>
          </td>
          <td>'
          ;

          if (isset(
          $content)) 
              { 
              include(
          $content.".php"); 
              } 
          else
              { 
              include(
          "start.php"); 
              } 

          echo 
          '</td>
          </table>
          </body>
          </html>'
          ;
          ?>
          hier ist der Vorschlag von TobiaZ wegen dem PHP <-> HTML schon drin. Den switch() kannst du auch wie von TobiaZ vorgeschlagen in eine DB auslagern -> hier kannst du natürlich mehr Informatione einbinden, z.B. Title, Filename, Pfad und v.a. eine ID -> dann kannst du sogar deine Skriptnamen verschleiern und dein Aufruf sieht dann so aus: <a href=index.php?content=4 ...>

          Kommentar


          • #6
            Vielen Dank für Eure Vorschläge, ich werde sie mal ausprobieren!

            Eins noch:
            Könnt Ihr evtl. auch ein fertiges Nav bzw. Template - Script empfehlen? Sowas wie easyPHP Navigation, oder so?

            Ciao,
            NeoTGH

            Kommentar


            • #7
              Mal ne frage was muss ich eingeben wenn ich statt der html links eine php seite mit dem Menu einbinden will. Wie lautet der code dafür?

              Hat sich erledigt, man muss nur etwas rumprobieren. Danke trotzdem.
              Zuletzt geändert von Pro2k; 30.08.2002, 11:05.

              Kommentar


              • #8
                wie wärs mit require()

                Kommentar


                • #9
                  PHP-Code:
                  <?php
                  switch ($content)
                      {
                      case 
                  "news"$title="Mein Title für News"; break;
                      case 
                  "downloads"$title="Downloads für jedermann"; break;
                      case 
                  "faq"$title="Frequently Asked Questions"; break;
                      default: 
                  $title="Meine Homepage";
                      }
                  könnte natürlich ab PHP 4.1.x auch so heissen
                  PHP-Code:
                  <?php
                  switch ($_GET[$content])
                      {
                      case 
                  "news"$title="Mein Title für News"; break;
                      case 
                  "downloads"$title="Downloads für jedermann"; break;
                      case 
                  "faq"$title="Frequently Asked Questions"; break;
                      default: 
                  $title="Meine Homepage";
                      }
                  <Life>Traumprojekt-Die Design-Community</life>

                  Kommentar


                  • #10
                    Ihr wollt das nicht ernsthaft mit nem Switch realisieren???

                    was macht ihr denn, wenn ihr 100 Seiten habt? Dann gibts ein Problem...

                    Kommentar


                    • #11
                      Original geschrieben von TobiaZ
                      Ihr wollt das nicht ernsthaft mit nem Switch realisieren???

                      was macht ihr denn, wenn ihr 100 Seiten habt? Dann gibts ein Problem...
                      sehe ich auch so, bei 100 Seiten sind doch Templates das beste oder
                      <Life>Traumprojekt-Die Design-Community</life>

                      Kommentar


                      • #12
                        Auf jeden Fall!!!

                        Und bei 10 Seiten kann man das auch so grade noch von Hand machen.

                        Kommentar


                        • #13
                          ich finde, dass die switch()-Variante erstmal die einfachste und schnellste Lösung ist. Man muss ja den Fragenden nicht mit was weiß ich gleich erschlagen. Außerdem hat NeoTGH hier auch keine Anforderungen oder Vorgaben gemacht. Zudem wurde auch schon eine DB-gestützte Variante angesprochen. Würde ich zumindest bevorzugen.

                          Kommentar


                          • #14
                            Ja!

                            Kommentar

                            Lädt...
                            X