Navigation, Kopfzeile etc in jeder Datei einzeln definieren?

  • Hallo,


    Erstmal vielen Dank für das äußerst hilfreiche HTML Tutorial! Macht echt Spaß, damit eine eigene Homepage aufzubauen.
    Allerdings brennt mir, auch nach den ganzen Lektionen über Gestaltung, Design etc eine Frage auf dem Herzen, die im Tutorial nicht beantwortet wird:


    Muss ich wirklich in JEDER Html Datei, aus der meine Website besteht, gemeinsame Elemente wie die Navigation, oder die Kopfzeile, jedesmal neu wiederholen?? Oder kann ich irgendwo die gemeinsamen Elemente einmal definieren, und dann in den Html Dateien darauf verweisen?


    Mit Googeln usw habe ich darauf keine Antwort gefunden. Mich wundert das - irgendwie ist das doch total redundant, dass man bei einer Website, die aus 2, 3, ... oder 100 HTML Dateien besteht, 100mal dieselbe Linkleiste programmieren muss, oder?? Nehmen wir mal an ich will einen Link ändern - muss ich da mit meinem Editor 100 Dateien nacheinander ändern? Klingt für mich irgendwie ineffizient. Oder ist das egal, da alle professionellen Websites eh mit mächtigen Tools erstellt werden, die 100+ Paste-Copy-Vorgänge auf Knopfdruck durchführen? (Wenn ja, scheint mir die HTML lernerei recht sinnlos?)


    Viele Grüße,
    David

  • Hallo David,
    diese Frage stellen sich viele angehende Webmaster^^
    Und es gibt da eigentlich nur 3-4 Möglichkeiten:

    • In jede Datei alles noch einmal schreiben. Was bei Änderungen und schon bei 10-20Dateien sehr nervig sein kann
    • (NICHT MACHEN!) Eine veraltete Technik sind sogenannte Frames. Wir definieren auf unserer Seite hiermit Bereiche, in denen wir andere Dateien einbinden können. Wie gesagt, veraltet und macht man nicht, da es nicht Suchmaschinen Freundlich ist und die URL sich hierbei nicht verändert.
    • Gründgerüst und den Rest/Inhalt per Ajax holen.. gibt aber weitaus schöneres, beziehungsweise gängiger ist folgendes:
    • PHP. Hiermit können wir den Server dynamisch Dateien generieren lassen. Aufgrund von übergebenen Parametern (Die nach dem ? in der URL) verhält sich der Server anders. Wenn wir dann z-B- mit einem Template arbeiten brauchen wir nur ein einziges mal alles definieren. Ist aber eher ein wenig für Fortgeschrittene, lerne daher erst einmal HTML und CSS gut aus! :)


    Gruß
    Dustin, alias Sarkkan

  • Hey,
    um mal ein paar Links nachzuliefern
    Du brauchst dazu die Funktion include (oder require).
    Lies es dir am besten mal durch , Grundkenntnisse zu PHP gibts hier, wenn du mit HTML und CSS durch bist (ich habe allerdings auch schon recht früh mit include gearbeitet in Grundzügen) :)


    Grüße :)

  • Danke für die Antworten! Dachte mir schon, dass es da irgendeine effiziente Lösung geben muss :) Also ab nach PHP...


    Das mit den Frames wusste ich. Da die ja aber nicht mehr "modern" bzw supported sind, war mir klar dass das keine Lösung ist. Mit wundert allerdings schon, dass die HTML Sprache so einfache Sachen nicht erlaubt! (Man könnte ja auch einfach per "include" den Inhalt einer zweiten HTML-Datei parsen? Wenn es das in HTML gäbe...)


    Da kann ja eine Lochkarte mehr Inhalt ausdrücken als eine HTML Datei.

  • Zitat von "David"

    Mit wundert allerdings schon, dass die HTML Sprache so einfache Sachen nicht erlaubt! (Man könnte ja auch einfach per "include" den Inhalt einer zweiten HTML-Datei parsen? Wenn es das in HTML gäbe...)

    HTML ist aber keine Programiersprache, sondern eine Auszeichnungssprache :)
    Da ist der große unterschied^^


    Außerdem gibt es doch ne Möglichkeit zu includen :P
    Nennt sich Frames. Du gibst eine Quelle an und es wird die HTML-Datei davon geholt :P

  • Zitat von "lauras"

    Nunja, es gibt ja auch durchaus andere Möglichkeiten (siehe z.B. hier), aber PHP ist nunmal in diesem Fall am einfachsten und gerade für Anfänger auch leicht zu verstehen :)


    Oha, das kannte ich bisher auch nicht, dann ist und bleibt die beste Methode(for me) allerdings PHP :wink:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!