HTML Dateien kopieren?
Hey wenn ich eine neue oder zwei HTML Dateien mache und diese sehen fast gleich aus, also z.B. bei einer Website mit einer Leiste wo dann nur an einem bestimmten Punkt was andres steht. Gibt es sowas wie eine Methode wie oder Funktion womit das aus der anderen Datei übernommen wird oder wie macht man das im Professionellen Bereich, Kopiert man einfach alles in die neue Datei?
4 Antworten
Wenn man neben HTML auch noch Programmiersprachen nutzt kann man das Grundgerüst der Seite z.B. in eine oder mehrere eigene Dateien auslagern und diese in die jeweiligen Seiten einbinden.
Oder man hat eine Seite mit dem kompletten Grundgerüst und bindet dort dann den Inhalt der Seite ein, welcher in einer eigenen Datei oder einer Datenbank steht.
Bei PHP kann man hier die Funktion include nutzen.
Du lagerst die Seitenleiste in eine eigene Datei aus (Beispielsweise in die Datei nav.php) und bindest diese dann wie folgt in deine andere Seite ein.
<?php
include 'nav.php';
?>
PHP wird Serverseitig ausgeführt, du benötigst also einen PHP fähigen Webserver.
Bei einer Seitenleiste würde ich empfehlen, die für jede der Seiten gleich zu bauen und gegebenenfalls darin die aktive Seite mittels Javascript hervorzuheben.
Die Seitenleiste kannst du in eine extra HTML-Datei packen und dann auf verschiedene Weise einbinden (da gibt es verschiedene Wege, sowohl im nativem HTML als auch mittels serverseitiger Programmiersprache oder mittels Javascript).
ja diesen habe, durch das einbinden kann ich ja aber nicht alles was in nav steht in die andere datei kopieren
Du hast eine Datei für die Seitenleiste, in der alles was in nav steht drin ist.
Diese Datei bindest du jetzt in eine andere Datei ein und wenn der Inhalt an den Browser übertragen wird fügt der Webserver den Inhalt vom nav an der angegebenen Stelle in die Seite ein.
Beispiel:
nav.php
<nav>
<a href="#">Startseite</a> |
<a href="#">Impressum</a> |
<a href="#">Datenschutz</a>
</nav>
Index.php
<!DOCTYPE html>
<html lang="de">
<head>
<title>Meine Seite</title>
<meta charset="utf-8" />
</head>
<body>
<?php
include 'nav.php';
?>
<h1>Meine Seite</h1>
</body>
</html>
Rufst du jetzt die Index.php Datei auf wird folgendes an den Webbrowser übertragen:
<!DOCTYPE html>
<html lang="de">
<head>
<title>Meine Seite</title>
<meta charset="utf-8" />
</head>
<body>
<nav>
<a href="#">Startseite</a> |
<a href="#">Impressum</a> |
<a href="#">Datenschutz</a>
</nav>
<h1>Meine Seite</h1>
</body>
</html>
Genaueres zu include kannst du ansonsten hier nachlesen:
Entweder macht man irgendetwas Templatebasiert und/oder man generiert das HTML dynamisch (e.g. serverseitig mittels z.B. PHP oder clientseitig mittels Javascript).
alles gut dachte nur du hättest vielleicht ein link von einer Webside
Also zu PHP findest du ne Menge durch googeln (da gibt es so viel, das macht wenig Sinn, dir da etwas einzelnes rauszupicken). Selbiges gilt für andere serverseitige Programmiersprachen und für Javascript.
Was Templates angeht weiß ich nichteinmal, wie Tools heißen, die soetwas machen. (Das es soetwas geben muss erschließt sich schlicht aus der Existenz zahlreicher Anwendungsfälle.)
Gibt es sowas wie eine Methode wie oder Funktion womit das aus der anderen Datei übernommen wird
ja. Dafür gibt es in HTML das <object> Element.
Alex
Ich kenne das so, dass man eine HTML-Seite schreibt, die Tokens hat, d.h. "Platzhalter" für variablen Content, z.B. an geeigneter Stelle $MEIN_CONTENT$ oder sowas. Bevor dann ein Skript diese Seite zurückgibt, wird das Token durch Text ersetzt, und dadurch erhältst du weitgehend gleiche Seiten mit unterschiedlichem Content.
Zudem ist gut, dass du deine Skripte von wild zusammengebauten HTML frei hältst, was deutlich wartbarer ist.
und wie z.B. wenn ich z.B. eine Seitenleiste in meiner index habe welche in <nav></nav> ist, wie kann ich diese dann mit php in eine andere datei einbinden?