Wie erstellt man eine 'richtige' Navigation?

  • Liebes Forum-Hilfe,

    bisher habe ich eine Webseite gebaut, bei der die Navigation in jeder einzelnen HTML-Seite eingefügt ist. Das bedeutet, wenn ich einen Navigationspunkt ändern möchte, muss ich den in allen Dateien umbenennen.

    => Wie kann ich das ändern und eine 'professionelle' (richtige) Navigation programmieren, die nur ein Mal vorhanden ist aber auf alle Seiten zugreift?

    Beste Grüße
    Nils

  • na da musste auf was serverseitiges zugreifen oder mit javascript arbeiten...
    da brauchste nen include für oder du machst dir nen script was die navi schreibt und lagerst das script aus.
    dann miusste des nur noch in den einzelnen seiten einbinden.
    ich rate dir aber mit php zu arbeiten und dann den include-befehl zu nutzen

  • Hallo synaptic,

    Danke für deine schnelle Antwort.

    Hast du einen Link, wo ich lernen kann, wie ich mit PHP und dem 'Include'-Befehl lernen kann, eine professionelle Navigation zu bauen?

    Gibt es dazu ein Tutorial oder hast du einen Satz Beispiel-Dateien, in denen ich mir mal ansehen kann, wie das programmiert ist?

    Mich würde interessieren, warum du diese Methode gegenüber den anderen Dingen, die du genannt hast, empfiehlst ... habe momentan noch wenig Ahnung von der Materie; kann bisher nur HTML schreiben.

    Beste Grüße
    Nils

  • na du hast ne php-datei zum beispiel index.php
    und eine navi.php, wo halt des menü drin realisiert wird..
    dann haste in der index.php halt nen teil wo des hier steht:

    PHP
    <?php
    include('navi.php');
    ?>

    edit:
    axo war nur die hälfte :)

    also ich empfehle des weils die schnellste und sauberste variante ist.
    serverside includes haste nicht überall, mit javascript geht´s aber ne navi via javascript is ungünstig weil immer welche js deaktiviert haben.
    server die was anderes als php interpretieren (zb java oder asp.net) sind meist auch was teuer

  • Hallo synaptic,

    OK, verstehe:
    <?php
    include('navi.php');
    ?>
    ... würde auf jeder PHP-Seite wiederum den Inhalt von "navi.php" einbinden. Somit programmiert man die Navi in "navi.php" und zieht diesen Inhalt überall rein. Praktisch ... in PHP zumindest.
    - -

    Problem: Ich kann bisher nur HTML schreiben und würde daher sowohl die Unterseiten als auch die Navigation gern mit HTML-Befehlen aufziehen.

    Ein "include" (siehe oben) mal kurz einzubauen, ist ja kein Problem ... aber was ist mit dem Rest; muss ich dann alles in PHP schreiben? Oder soll ich dann eine "PHP"-Datei aufziehen, in der der einzige PHP-Befehl "include" ist und ansonsten in den PHP-Code einfach jede Menge HTML rein schreiben? (99% HTML; trotzdem als PHP speichern?)

    => Wie würdest du eine HTML-Webseite programmieren, mit beispielsweise 5 Menüpunkten, also mindestens 5 Unterseiten, die alle aus HTML bestehen?

    Grüße
    Nils

  • ja das haste schon richtig verstanden...
    machste 99% html und des 1% sind die einzelnen includes wie default_head.php
    navi.php und default footer.php

    und die einzelnen inhaltsseiten sind dann eben zusammengesetzt aus 3 includes und eben ihrem inhalt..
    du musst ja nicht zwingend dynamisch programmieren..

    es reicht halt wenn du den oben genannten code an den notwendigen stellen einbindest ;)
    is wie nen puzzle :)

  • OK, vielen Dank erstmal!

    Dazu muss ich allerdings alle Seiten als ".php" benennen, damit es funktioniert, richtig? Oder geht es auch mit ".html"-Dateien und nur die
    "navi.php" muss ".php" heissen?

    Gibt es so etwas wie einen Standard-Aufbau einer PHP-Seite, wie bei HTML-Seiten? ... HTML-Standard-Aufbau wäre ja <?xml version ... <!DOCTYPE ... <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-de" lang="de-de" dir="ltr" ><html><head><meta ... etc.? ... Oder sind PHP-Seiten vom Aufbau her Freestyle?

    ... Oder kann ich einfach normale HTML-Seiten aufbauen und nur den Dateinamen in ".php" ändern? Sonst noch irgendwas zu beachten? ...

    => Noch eine Frage zur Suchmaschinenoptimierung: Wenn ich anstelle von ".html"-Seiten PHP-Seiten verwende ... wirkt sich das in irgendeiner Weise auf meine Google-Treffer aus? Wenn ja, in welcher Form? ...

    Gibt's da noch einen 'Trick' um Treffer zu begünstigen? (Außer natürlich 'korrekte', in sich konsistente Seiten bauen, mit hübschen "title"-Tags, meta-daten, möglichst vielen Links von anderen Seiten auf meine Seite und diesem ganzen Kram ...) ?

    Bestes
    Nils

  • Mit PHP kannst du nur etwas generieren.
    Was du damit generierst kann entweder ein XML File oder ein HTML File sein.
    Demnach musst du dich also für HTML, XML oder sonstige Formate entscheiden.

    Ich empfehle dir HTML und dann musst du per PHP nur noch die HTML Datei oder die PHP Datei der Navigation einbinden.
    Du musst einfach die Seiten umbenennen, welche PHP verwenden und drin haben.
    Dann includierst du nur die navi.php (oder wie sie auch immer heisst).

  • @thonixx, PHP generiert von sich aus gar nichts. Man kann zwar generatoren damit bauen, aber das ist nebensache.

    Nun, zu den Fragen.
    Du kannst deine Seite komplett mit HTML bauen, auch .html als Endung verwenden - nur brauchst du eben bei der Seite die ausgeführt werden soll (z.B. eben die index.php) auch die Endung php - sonst kannst du kein include verwenden. Du kannst dein HTML auch ohne eine Endung abspeichern, PHP ist das egal.

    Letztendlich wird der Inhalt der Datei 1:1 ausgelesen und interpretiert, wenn PHP code drin ist, wird der auch ausgeführt.
    Z.B.

    Wenn du test.php ausführst, wird "test" genau so ausgefüht, als wäre es eine PHP datei - es empfiehlt sich trotzdem die Endungen richtig einzusetzten. Wenn eine Seite reines HTML beinhaltet, schreibs als Endung hin. Wenn php dabei ist - schreib eben .php. Damit gewinnst du ne bessere Übersicht.

    Das einzige worauf du achten musst bei den Endungen ist letztendlich, dass dateien die tatsächlich aufgerufen werden (mit einem Link z.B.) die richtige Endung haben. Sonst reagiert die PHP Software darauf nicht. Bei includes ist es wie gesagt egal.


    So könnte deine index.php aussehen:

    PHP
    <?php
    include "header.html";
    include "home.html";
    include "footer";
    ?>

    In den einzelnen Dateien eben die Endungen, wenn dazu eine weitere Unterseite kommt, includest du eben statt home.html eine andere Datei in der dein Inhalt drin steht.

    Ist natürlich nur ne grobe und einfache Vorgehensweise - aber erstmal reicht das denke ich :)

    //p.s. es ist zwar möglich (und meist normalfall), das alles über eine index.php läuft und man die Unterseite übergibt.. Aber du hast ja von Suchmaschinen gesprochen - um das suchmaschinenfreundlich zu machen, muss man sich mit .htaccess und rewrite Regeln befassen. Ich denke das muss bei deinem Stand noch etwas warten ;D

    2 Mal editiert, zuletzt von Grevas (11. März 2010 um 23:25)