[HTML] DIVLayout includen

kimni
Hey ihr (:
Ich habe letzens mitbekommen, dass es doch schlauer wäre, sein div layout zu includen, damit man, wenn man z.B. mal einen Menüpunkt ändert, direkt alle (!) Seiten neu mit abändern muss.
Jetzt hab ich hier bei GB nachgeschaut & nicht so viel zu meiner Frage gefunen, also wollte ich hier mal fragen.

Also, wie funktionert sowas ? Und, ich hab schon mehrere Seiten ; wäre es ein großer Aufwand, das so zu machen, oder sogar gar nicht ?

Würde mich über Hilfe freuen.
Liebe Grüße Herz
Ceres
Die Lösung nach der du fragst basiert dabei auf PHP.

Dafür ist es erst einmal notwendig, dass alle Seiten als .php gespeichert sind und nicht als html.

PHP Quelltext kannst du dann so jederzeit mit einbringen, an geeigneter Stelle. Du kannst für das Menü eine Datei erstellen, z.B.

menue.tpl

In dieser Datei ist der html-quelltext für das Menü (ohne den html-body, z.B. könnte es so aussehen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
<div id="menuv">
          <ul>
            <li><a href="gebiete.php">Tätigkeitsgebiete</a></li>
            <li><a href="kosten.php">Kosten</a></li>
            <li><a href="formulare.php">Formulare</a></li>
            <li><a href="unfall.php">KFZ-Haftpflichtschaden</a></li>
            <li><a href="prozesskostenhilfe.php">Prozesskostenhilfe</a></li>
            <li><a href="schiedsverfahren.php">Schiedsverfahren</a></li>
            <li><a href="bankhaftung.php">Bankhaftung</a></li>
            <li><a href="ecommerce.php">E-Commerce</a></li>
            <li><a href="schufa.php">Die Schufa</a></li>
            <li><a href="selbstanzeige.php">Selbstanzeige</a></li>
            <li><a href="referenzen.php">Veröffentlichungen</a></li>
          </ul>
</div>


Das wäre deine menue.tpl

Nun würdest du an der Stelle, wo in deinem Quellcode das Menü vorkommt, folgende Anweisung nutzen:

code:
1:
2:
3:
<?php include('menue.tpl'); ?>


Die Änderungen am Menü nimmst du fortan in der menue.tpl vor und sie sind anschließend für alle Seiten gültig, wo die das Menü includest.

Ums noch einmal einfach zu erklären:
Include ist nichts anderes, als einfügen. An der Stelle, wo du diesen Befehl gibst, wird der Quelltext von der Datei im Verweiß genau an dieser Stelle eingefügt. Daher sollte hier auch kein <html><head> usw... drin stehen, weil es der Browser im prinzip im ganzen interpretiert.

Ums noch mal deutlich zu machen, mein Beispiel was ich dir gegeben habe. In dem Quelltext der Index.php steht z.B. jetzt folgendes:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
      <div id="logobar" align="center">
          <img src="images/logo.jpg" style="border: 4px solid #000040;"/>
      </div>
    </div>

    <div id="content" align="center">

    <?php include('menuservice.tpl'); ?>

      <div id="inhalt">

          <p class="title">Service</p>



Aber tatsächlich liest der browser durch das includen dann folgenden Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
      <div id="logobar" align="center">
          <img src="images/logo.jpg" style="border: 4px solid #000040;"/>
      </div>
    </div>

    <div id="content" align="center">

    <div id="menuv">
          <ul>
            <li><a href="gebiete.php">Tätigkeitsgebiete</a></li>
            <li><a href="kosten.php">Kosten</a></li>
            <li><a href="formulare.php">Formulare</a></li>
            <li><a href="unfall.php">KFZ-Haftpflichtschaden</a></li>
            <li><a href="prozesskostenhilfe.php">Prozesskostenhilfe</a></li>
            <li><a href="schiedsverfahren.php">Schiedsverfahren</a></li>
            <li><a href="bankhaftung.php">Bankhaftung</a></li>
            <li><a href="ecommerce.php">E-Commerce</a></li>
            <li><a href="schufa.php">Die Schufa</a></li>
            <li><a href="selbstanzeige.php">Selbstanzeige</a></li>
            <li><a href="referenzen.php">Veröffentlichungen</a></li>
          </ul>
</div>

      <div id="inhalt">

          <p class="title">Service</p>


Die Änderung ist eigentlich simpel und schnell gemacht, kommt natürlich auf die Anzahl der vorhandenen Seiten an, aber includen ist eine sehr feine Methode.

Ich hoffe, ich konnte dir ein bisschen weiterhelfen smile
kimni
Ich glaube, ich verstehe das so langsam (:
Also, muss ich einfach aus dem Index die Menüaufteilung rausnehmen und einfach einen 'Verweis' (also den include) machen, dann alle Seiten als .php abspeichern und eben das menue.tpl erstellen ?

Danke schonmal für deine Hilfe smile
Ceres
Jap, genau.

Den Bereich nimmst du raus und speicherst ihn in der menue.tpl und alles was du dann rüber kopiert hast nimmst du genau so aus den Seiten raus und ersetzt es mit dem include

Und das musst du auf allen seiten machen. Wenn du dann etwas im Menü verändern möchtest, brauchst du nur noch den Quelltext in der menue.tpl ändern und schon ist es für alle Seiten, wo du das include verwendet hast gültig.

Also was du tun musst noch mal kurz:
- menue.tpl erstellen (du kannst auch menue.html davon machen, das ist theoretisch egal, ich habe mir mit der Zeit angewöhnt, daraus tpl zu machen)
- alle Seiten an der Stelle des Menüs include setzen
- alle Seiten als .php speichern, damit das mit dem include überhaupt interpretiert wird

lg smile
kimni
Wunderbar, es klappt einwandfrei ! fröhlich
Danke für die Hilfe & die einfache Erklärung , bei mir geht das mit dem Verstehen eigentlich nie so schnell großes Grinsen

Danke Herz
Ceres
Super, freut mich doch sehr, dass ich helfen konnte smile

lg