SELFPHP

Trennung von Inhalt und Layout für kleine Homepages

 
Informationsseite nach unten Autor
nach unten Beispiel
nach unten Beschreibung
nach unten Fazit
nach unten Download
nach unten

Autor

Name: Benjamin Fleckenstein
Email: ben@nb-kreativ.de
Website: http://www.nb-kreativ.de


nach obennach unten

Beispiel

Anzeigebeispiel: So sieht's aus (Online)

<?php

    $titel 
"Wie man sieht ist auch der Titel w&auml;hlbar";
    
    include 
"header.inc.php";
    
?>

<h1>Inhalt</h1>
In dieser Datei steht nur der Inhalt der Seite, das Layout wird in den Dateien
header.inc.php und footer.inc.php erstellt!
<br>
<br>
Beispiel f&uuml;r die Trennung von Inhalt und Layout!

<?php

    
include "footer.inc.php";
    
?>    


nach obennach unten

Beschreibung

Wenn man gerade mit der Webseitenprogrammierung angefangen hat stellt man schnell fest, dass damit vieles einfacher wird, unter anderem wird es einfacher das Layout einer Seite zu verändern, da man mit PHP eine Trennung von Inhalten und Layout vorzunehmen.

Eine solche Trennung hat den Vorteil, dass man das Layout verändern kann ohne dass man jede einzelne Seite verändern muss.

Natürlich gibt es schon viele vorgefertige System die eine solche Trennung vornehmen können. Aber gerade für kleine Seiten, wie private Homepages oder ähnliches, sind diese Systeme meistens etwas überdimensioniert.

Für solche Anforderungen ist die nachfolgende Idee gedacht.

Die Theorie ist, dass man alles, worin sich die einzelnen Seiten nicht unterscheiden auslagert. Das heißt man nimmt die Navigation, Logos usw. aus der Datei und schreibst Sie in zwei andere Dateien (z.B. header.inc.php und footer.inc.php).

Die erste Datei (header.inc.php) beinhaltet nun alles von Beginn der Seite bis zum Anfang des Inhalts.

header.inc.php
      <html>
      <head>
      <title><?php echo $titel ?></title>
      </head>
      <body>
      <table border="0">
        <tr>
            <td valign="top" width="150">
                <a href="xyz.htm">Menüpunkt1</a><br />
                <a href="abc.htm">Menüpunkt2</a><br />
            </td>
            <td valign="top">
      
(Um jeder Seite noch einen individuellen Titel geben zu können habe ich noch eine PHP Anweisung in die Datei eingebaut die die Variable $titel ausgibt)

Die zweite Datei beinhaltet alles was nach dem Inhalt der Datei kommt bis zum Ende der Datei

footer.inc.php
            </td>
         </tr>
      </table>
      </body>
      </html>
      


In den eigentlichen Seiten bleibt nur noch der Inhalt und zwei Include Anweisungen, und der Variablen $titel.

      <?php
      
        $titel = "Willkommen";
      
        @include "header.inc.php";
        
      ?>
      
      <h1>Überschrift der Seite</h1>
      Inhalt Inhalt, noch mehr Inhalt
      
      <?php
      
        @include "footer.inc.php";
      
      ?>
      
(Hier wird $titel gesetzt, welches in der Datei header.inc.php ausgegeben wird)

Auf diese Art kann man das Layout in den beiden .inc.php Dateien verändern, und die Änderung wirkt sich sofort auf alle Seiten aus, da diese das Layout ja erst beim Aufruf hinzufügen!


nach obennach unten

Fazit

Zugegebenermaßen trennt diese Idee das Layout nicht vollständig vom Inhalt, da in den Seiten ja noch HTML Elemente wie <h1> enthalten sind, aber in Verbindung mit CSS ist diese Lösung ganz passabel.

Benjamin Fleckenstein


nach obennach unten

Download

Der Download beeinhaltet folgende Dateien:
  • header.inc.php (Layoutdatei 1)
  • footer.inc.php (Layoutdatei 2)
  • index.php (Inhaltsdatei)
  • readme.txt (Lizenz und Hinweise)
Download starten


nach oben
weiter:weiter Seite Tipps & Tricks
zurück:zurück Seite Layout
 

© 2001, 2002, 2003
E-Mail Damir Enseleit, mail@selfphp.com ,  Impressum