Martin: Navigationsleiste - Wie kann man Code sparen?

Hallo,

habe folgendes (wahrscheinlich typisches Anfänger-)Problem:

Ich gestalte meine Seite ausschließlich mit Tabellen, ohne den Einsatz von Frames. Links befindet sich eine klassische Navigationsleiste, rechts der eigentliche Seiten-Inhalt (beides eingebettet in eine Tabelle mit zwei Spalten). Nun soll meine Site viele verschiedene Seiten mit unterschiedlichem Inhalt haben, auf jeder von ihnen soll die Navigationsleiste aber unverändert auftauchen.
Muss ich nun den Code der Navigationsleiste auf jeder Seite aufs Neue einfügen oder kann man den auch irgendwie extern in einer Datei speichern und immer wieder einfügen oder gibt es vielleicht eine andere Möglichkeit, um hierbei Code zu sparen?
Das zweite Problem ist auch, wenn ich an der Navigationsleiste etwas verändern will, müsste ich es dann auf jeder dieser vielen Seiten, wo sie auftaucht, tun. Habt Ihr dafür eine Lösung parat?

Freue mich auf Eure Antworten! Vielen Dank schon mal!

Martin

  1. Hallo,

    das ist eigendlich ganz einfach. Du speicherst den PHP-Code zur erstellung der Linkleiste in einer PHP-Datei. Diese PHP-Datei fügst du
    dann über

    include('linkleiste.php');

    immer dort ein wo du sie brauchst (wobei du linkleiste.php durch den Dateinamen ersetzen musst unter dem du den Code der sie erzeugt gespeichert hast).

    Gruß

    Markus

    1. Danke, klingt einleuchtend, aber nehmen wir mal an, dass die Seite komplett ohne PHP laufen soll. Wie wird das denn überall gemacht, vervielfachen die den Code, benutzten sie Frames oder PHP? Gibt's da nicht eine reine HTML-Lösung?

      Gruß,
      Martin

      1. Hallo,

        also wenn du keine Serverseite Programmierung benutzt (z.b. PHP) dann kannst du es mit Frames machen. Sonste müss du den HTML Code für die Navigationsleiste in jeder Datei einfügen.

        Gruß

        Markus

        1. Hallo,

          also wenn du keine Serverseite Programmierung benutzt (z.b. PHP) dann kannst du es mit Frames machen. Sonste müss du den HTML Code für die Navigationsleiste in jeder Datei einfügen.

          Oder kurz vor dem Veröffentlichen den Editor deiner Wahl anweisen alle Variablen, die das Menü darstellen in allen HTML Dateien des Projektes durch das Menü zu ersetzen.

          Grüße
          Jeena Paradies

          --
          Block bekommt neues Design als Standard Template | Jlog | Gourmetica Mentiri
      2. Hallo Martin,

        Gibt's da nicht eine reine HTML-Lösung?

        Entweder so wie Jeenas Vorgschlag mit dem Editor. Oder, wenn du den nicht wechseln willst: http://homepages.tu-darmstadt.de/~guentner/html_include

        Das elegante an dieser Möglichkeit ist, dass du mit geringem Zusatzaufwand dein Menü so gestalten kannst, dass du ein seitenindividuelles Menü erhältst. Zum Beispiel der aktuelle Menüpunkt hervorgehoben ist, oder kein Link auf sich selbst ist.

        Grüße,

        Jochen

        --
        Heute schon gescribbelt?
        Scribbleboard
    2. hallo Markus,

      das ist eigendlich ganz einfach. Du speicherst den PHP-Code zur erstellung der Linkleiste in einer PHP-Datei.

      Quatsch. Er hat nichts von PHP geschrieben, also scheidet dein Hinweis vollkommen aus.

      include('linkleiste.php');

      Natürlich wäre das eine einleuchtende Lösung. Dann hätte Markus aber gleich das Topic PHP gewählt.

      Grüße aus Berlin

      Christoph S.

      1. hallo Christoph,

        ja ist mir auch kurz nach meinen Post aufgefallen, aber ab 1 Uhr passieren mir leider schnell sollche kleinen Überleser.

        Natürlich wäre das eine einleuchtende Lösung. Dann hätte Markus aber gleich das Topic PHP gewählt.

        ;)

        Gruß

        Markus

      2. Hallo,

        das ist eigendlich ganz einfach. Du speicherst den PHP-Code zur erstellung der Linkleiste in einer PHP-Datei.

        Quatsch. Er hat nichts von PHP geschrieben, also scheidet dein Hinweis vollkommen aus.

        Kein Quatsch. Hätte er PHP gewählt wäre z.B. der Vorschlag mit SSI von Jürgen nach deiner Definiton Quatsch. Außerdem hätte er wissen müssen, dass es mit PHP möglich ist. Das gute an diesem Forum ist ja gerade, dass man Lösungen angeboten bekommt, an die man nicht gedacht hat.
        Oder welches Thema hätte er wählen sollen, wenn er nicht weiß wie er es machen kann?

        Grüße
        Marcus

        --
        Wenn der Weg das Ziel ist, ist das Ziel dann weg?
  2. hallo Martin,

    Ich gestalte meine Seite ausschließlich mit Tabellen, ohne den Einsatz von Frames.

    Auf Frames zu verzichten, ist sicherlich gut, aber Tabellen einzusetzen, ist falsch. Tabellen sind für tabellarische Daten da, aber nicht für solche Dinge wie eine Navigation.

    Nun soll meine Site viele verschiedene Seiten mit unterschiedlichem Inhalt haben, auf jeder von ihnen soll die Navigationsleiste aber unverändert auftauchen.

    Wenn du dieses sehr unelegante und schwerfällige Konstruktionsprinzip beibehalten willst, bleibt dir nichts anderes übrig, als eben deine Navigation in jede Seite zu schreiben. Irgendeine Einsparung ist dann nicht möglich.

    Das zweite Problem ist auch, wenn ich an der Navigationsleiste etwas verändern will, müsste ich es dann auf jeder dieser vielen Seiten, wo sie auftaucht, tun.

    Korrekt, das müßtest du so handhaben.

    Habt Ihr dafür eine Lösung parat?

    Nicht mit "reinem" HTML. Lösungsvorschläge mit anderen Techniken finden sich aber zu Tausenden im Forums-Archiv.

    Grüße aus Berlin

    Christoph S.

    1. hallo

      Auf Frames zu verzichten, ist sicherlich gut, aber Tabellen einzusetzen, ist falsch. Tabellen sind für tabellarische Daten da, aber nicht für solche Dinge wie eine Navigation.

      Tabellen sind sehrwohl ein viel verwandtes Mittel zum Seitenlayout. Das als Falsch zu bezeichen halte ich für "falsch". In HTML führen vielen Wege zum Ziel, wobei ein Seitenlayout über Tabellen seine Vorteile hat, aber allerdings auch seine Nachteile.

      Gruß

      Sven Richard

      1. hallo,

        Tabellen sind sehrwohl ein viel verwandtes Mittel zum Seitenlayout.

        Daß sie "viel verwendet" werden, sagt noch nichts darüber aus, ob sie dafür da sind. Es gibt sicherlich ein paar Millionen schlecht layouteter Webseiten im Internet.

        Das als Falsch zu bezeichen halte ich für "falsch".

        Die Lektüre der vielen hundert einschlägigen Threads zum Thema im Forums-Archiv wird dich eines besseren belehren.

        Grüße aus Berlin

        Christoph S.

      2. Hallo Sven,

        ... wobei ein Seitenlayout über Tabellen seine Vorteile hat, aber allerdings auch seine Nachteile.

        Ich sehe aber nur Nachteile bei tabellenbasiertem Layout. Wenn Du auf Tabellen verzichtest, hast Du eindeutig Vorteile, was Wartbarkeit und Flexibilität Deiner Seiten betrifft.

        Viele Grüße
        Frank

  3. Hallo Martin,

    wenn es dein Provider unterstützt, kannst du Server Site Includes (SSI) einsetzen. Hier werden die "Bausteine" beim Seitenaufruf vom Server zusammengesetzt. Diese Technik ist einfacher als z.B. PHP und belastet den Server auch weniger. Eine weitere Alternative wäre ein (HTML-)Editor, der Includes unterstützt. Hier werden die "Bausteine" vor dem Upload auf deinem Rechner zu fertigen Seiten zusammengesetzt.
     Ich verwende beide Techniken.

    Gruß, Jürgen

  4. Hallo Leute,

    vielen, vielen Dank für Eure wirklich wervollen Anregungen und Vorschläge. Werde mich mal mit den einzelnen Techniken näher beschäftigen, um zu sehen, welche die richtige für mich ist.

    Schönen Tag noch allerseits!

    Martin