Schnelle Seiten gefällig?

Befreien Sie Ihre Webseiten mit wenigen Mausklicks von unnötigem Balast

Hier klicken und mehr erfahren

Programme von Machern für Macher

Die Grammiweb-Produktreihe hält viele praktische Tools für Webdesigner bereit

Hier klicken und mehr erfahren

SSI in der Praxis: Seitenbau

Server Side Includes bieten viele Gestaltungsmöglichkeiten für das eigene Seitenlayout. In dieser Kurzanleitung zeigen wir Ihnen anhand eines Beispiels, wie einfach eine komplette Website mit SSI optimiert werden kann.

Als Ausgangspunkt verwenden wir ein einfaches Webdokument, das aus einer Tabelle besteht. Diese Tabelle ist unterteilt in 5 Zellen: Logo, Werbung, Links, Inhalt und dem Fuß, in dem die letzte Änderung der Datei angezeigt werden soll:

Aufbau der Datei "datei.shtml":

<html><head>
<title>Grammiweb.de - Beispielseite: SSI-Dokumente</title>
</head><body>
<table>
<tr>
<td>
<img src="logo.gif" width="120" height="80">
</td>
<td><img src="werbung.gif" width="468" height="60"></td>
</tr>
<tr>
<td rowspan="2">
<a href="/java/index.shtml">JavaScripte</a><br>
<a href="/templates/index.shtml">Templates</a><br>
<a href="/magazin/index.shtml">Magazin</a>
</td>
<td> ... Inhalt ... </td>
</tr>
<tr>
<td>Letzte Änderung: </td>
</tr>
</table</body></html>

Das Ergebnis:

SSI Praxis

Dieser Aufbau soll auf allen Seiten des Webprojektes verwendet werden, einziger Unterschied zwischen den einzelnen Dateien ist der Inhalt (hellblau dargestellt). Um bei Änderungen viel Zeit dadurch einzusparen, dass diese zentralisiert durchgeführt werden können, werden die Elemente, die auf allen Seiten gleichbleibend sind, ausgegliedert.

Diese Elemente, im Beispiel also das Logo, die Werbung, die Links und die Anzeige der letzten Änderung, erhalten jeweils eine eigene Datei, die dann auch mit deren Inhalt benannt wird. Als Dateiendung empfiehlt sich ".shtml", da so jederzeit die Möglichkeit gegeben ist, auch aus diesen Dokumenten heraus SSI-Anweisungen auszuführen (zum Beispiel die Ausführung eines CGI-Scriptes, das für die Bannerrotation zuständig ist). Diese Dateien erhalten folgende Inhalte:

Inhalt der Datei "logo.shtml":

<img src="logo.gif" width="120" height="80">

Inhalt der Datei "werbung.shtml":

<img src="werbung.gif" width="468" height="60">

Inhalt der Datei "links.shtml":

<a href="/java/index.shtml">JavaScripte</a><br>
<a href="/templates/index.shtml">Templates</a><br>
<a href="/magazin/index.shtml">Magazin</a>

Inhalt der Datei "update.shtml":

Letzte Änderung:

Beachten Sie bei der Ausgliederung, dass enthaltene Links immer mit einem Schrägstrich beginnend vom Hauptverzeichnis aus gesetzt werden sollten, um von jeder Ebene in der Verzeichnishierarchie verwendet werden zu können. Eine Verknüpfung mit Verzeichnispunkten ("../datei.shtml") würde hier zu Problemen führen, da diese nur in das übergeordnete Verzeichnis verweisen. Hierzu ein Beispiel:

Die Verzeichnishierarchie:

+---/sub_1/sub_1a/sub_1b/sub_1c/sub_1d/
|
+---/sub_2/sub_2a/sub_2b/sub_2c/sub_2d/

Wird nun von einer Datei im Unterverzeichnis sub_1a auf die ausgegliederte Datei zugegriffen, würde eine Verknüpfung mit Punkten bedeuten, dass diese im Verzeichnis sub_1 gesucht würde. Würde dies vom Verzeichnis sub_2c versucht werden, müsste die Datei aber in sub_2b vorliegen. Würde im Verzeichnis sub_1c ein Link auf "../../datei.shtml" verweisen, müsste diese im Verzeichnis sub_1a abgelegt worden sein. Würde dies aber von sub_2c aufgerufen, würde in sub_2a gesucht. Wird jeder Verknüpfung ein Schrägstrich vorangestellt, wird immer vom Hauptverzeichnis ausgehend verwiesen. Dies bedeutet zwar ein wenig mehr Tipparbeit, erleichtert aber die Organisation um ein Vielfaches.

Kopf- und Fußsegmente von HTML-Dokumenten benötigen die ausgegliederten Dateien nicht, denn sie werden ja nicht direkt aufgerufen, sondern in eine Seite eingebunden, die diese bereits enthält.

Um alle "Bruchstückdateien" gesammelt abzulegen, sollten diese in einem eigenen Ordner abgelegt werden, der möglichst nahe am Hauptverzeichnis liegt. Für unser Beispiel verwenden wir das Unterverzeichnis "ssi". So haben Sie alle Varianten Ihrer Website konzentriert vorliegen und geraten nicht in Versuchung, bei Änderungen eine zu übersehen.

Nun müssen diese Ausgliederungen in der Grundseite vermerkt werden. Dazu werden die herauskopierten Zeilen einfach durch die SSI-Anweisung <!--#include virtual="dateiname" --> ersetzt. Beachten Sie dabei, dass die Dateipfade mit einem "/" beginnen, was dem Server anzeigt, dass diese im ensprechenden Verzeichnis unter dem Hauptverzeichnis zu finden sind (also beispielsweise "http://www.grammiweb.de/ssi/").

Aufbau der Datei "datei.shtml":

<html><head>
<title>Grammiweb.de - Beispielseite: SSI-Dokumente</title>
</head><body>
<table>
<tr>
<td>
<!--#include virtual="/ssi/logo.shtml" -->
</td>
<td><!--#include virtual="/ssi/werbung.shtml" --></td>
</tr>
<tr>
<td rowspan="2">
<!--#include virtual="/ssi/links.shtml" -->
</td>
<td> ... Inhalt ... </td>
</tr>
<tr>
<td><!--#include virtual="/ssi/update.shtml" --></td>
</tr>
</table</body></html>

Nun muss nur noch der Inhalt der Datei "update.shtml" angepasst werden, denn deren Einbindung soll ja die Anzeige der letzten Dokumentenänderung bewirken. Dies wird mit folgendem Code erreicht:

Inhalt der Datei "update.shtml":

Letzte Änderung: <!--#echo var="LAST_MODIFIED" -->

Nun fehlt nur noch der Tauglichkeitstest mit einem Webserver, und schon können Sie Ihr neues SSI-Gerüst verwenden.


Zurück zum Inhaltsverzeichnis

© Grammiweb.de Internetlösungen. Alle Rechte vorbehalten. Stand: 20.11.2017
Seitenanfang - Sponsor werden - Datenschutz - Medien - Impressum - Werbung - Hilfe - Kontakt