Server Side Includes |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Übersicht
Browserweiche
Bildgalerie
Druckversion
Kalender
Menü
Aufklappmenü
sponsored by LeadAgentur Freiburg Übersicht: Einleitung - Zeitformate - Dateigröße formatieren - Benutzerdefinierte Fehlermeldungen - Dateien einbinden - Hide And Show - If und Endif - If, Endif und Environment Variablen - Set - Echo - Print Environment - Skript ausführen - Dateigröße - File Date Beispiele: Bildergalerien
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VorwortDies ist eine Übersetzung des Server Side Includes Tutorials von Jan Weijers. Die Original Homepage findet sich unter http://www.weijers.net/guide/ssi.shtml. Unter http://www.weijers.net finden sich neben diesem Tutorial noch weitere interessante Infos rund um Webdesign. EinleitungWie der Name schon sagt, weisen Server Side Includes (SSI) den Server
an Informationen in ein HTML Dokument zu inkludieren, oder Informationen
hinzuzufügen. <!--#befehl variablenname="wert"--> Ob SSI auf dem Server verfügbar sind hängt vom Provider ab. Eine Nachfrage beim Support schafft hier Abhilfe. In den hier gezeigten Beispielen ist die Endung .shtml anzuhängen. Der Server ist Apache. Leider funktionieren die hier aufgezeigten Beispiele nicht auf jedem Server. Z.B. sind die Befehle #hide und #show nur für WebStar verfügbar. Bei Apache schafft ein Konstrukt mit #if und #else Abhilfe. ZeitformateVor dem Einsatz der Zeitformate muß noch einiges konfiguriert werden. Hier ein Beispiel wie das Datum ausgegeben werden kann. Das #echo Kommando wird später erläutert. <!--#config timefmt="%A, %d %B %Y at %H:%M:%S"--> Wednesday, 20 November 2024 um 22:37:07 Eine Tabelle mit den gebräuchlichsten Formaten steht unterhalb. Die Ausgabe kann mit HTML formatiert oder um Text ergänzt werden.
Die Elemente können "wild durcheinander" gemischt werden.
Weitere Beispiele: <!--#config timefmt="Week %U of %y"-->
<!--#config timefmt="%d/%m/%y, day %j of the
year"-->
<!--#config timefmt="%I:%S %p"--> 10:07 PM Es gilt immer die letztformatierte Version. Dateigröße formatierenDie Anzeige der Dateigröße kann spezifiziert werden. <!--#config sizefmt="bytes"--> 20,205
Das #fsizewird später erklärt. Wie zu sehen gibt
der Parameter "bytes" die Dateigröße
in Bytes, der Parameter "abbrev" in Kilobytes an." Benutzerdefinierte FehlermeldungenDie Standardfehlermeldung kann angepaßt werden. Hier das Beispiel einer selbst definierten Fehlermeldung mit anschließendem Aufruf der Datei "michgibtsdochgarnicht.html"
<!--#config errmsg="Hoppla da
geht was schief. Mail an fehler@dizign.de"--> Hoppla da geht was schief. Mail an fehler@dizign.de Es gibt nur eine Fehlermeldung. Jedoch kann man diese immer wieder neu definieren: <!--#config errmsg="Hoppla da
geht was schief. Mail an fehler@dizign.de"--> Hoppla da geht was schief. Mail an fehler@dizign.de Noch ein Fehler. Doof! Mail an mark@dizign.de Selbstdefinierte Fehlermeldungen vereinfachen das Debuggen. Um mehrere Fehlermeldungen verwenden zu können, muß sicher gestellt sein, das sie "error message" definiert wurde bevor der Befehl auf den sie sich bezieht aufgerufen wird.
Dateien einbindenDer include Befehl erlaubt die dynamische Einbindung "externer" Dateien in das aktuelle Dokument. So siehts aus: <!--#include file="datei.shtml"--> Die Pfade hängen vom provider ab. Es können keine
Dateien in der Form http://etc. eingebunden werden. (Dann
wären es ja auch keine SERVER Side Includes ;-)
). Sehr praktisch is die Einbindung wiederkehrender Elemente.
Wie hier auf der Seite die Navigation, der Footer und die
Google Anzeigen. So kann man alle Seiten die die entsprechenden
Dateien inkludieren mit der Änderung nur einer Datei
komplett verändern. <p align="center">Dies ist die deutsche Übersetzung von Jan's Guide to Web Authoring: Server Side Includes.<br> Das englische Original finden Sie unter <a href="http://www.weijers.net/guide/ssi.shtml">Jan's Guide: Server Side Includes</a></p> Diese Datei wird als "footer.txt" gespeichert und dann so aufgerufen: <!--#include file="footer.txt"--> Dies ist die deutsche Übersetzung von Jan's Guide to Web Authoring: Server Side Includes. Es können sowohl NurText als auch HTML formatierte Dateien
eingebunden werden. Hide And Showfunktioniert nur mit dem Webstar Server. Mehr dazu unter http://www.weijers.net/guide/ssi.shtml#hide (English) If und EndifDa diese Seite mit einem Apache läuft funktionieren #show und #hide nicht. Aber mit dem Konstrukt #if und #endif können mit etwas Aufwand die selben Ergebnisse erzielt werden: <!--#config timefmt="%A"--> Noch ein Fehler. Doof! Mail an mark@dizign.de Yippie! Bald ist Wochenende Bei #if und #endif müssen die beiden Ausdrücke
verwendet werden. #elif und #else sind optional. Dieses Beispiel
verwendet die Greenwhich Zeit #date_gmt (Sommerzeit wird ignoriert).
Möglich wäre auch #date_local die vom Serverstandort
abhängt. Vergleichsoperatoren:
If, Endif und Environment VariablenDas #if Kommando kann verwendet werden um zum Beispiel eine Server basierte Browserweiche zu erzeugen. Jeder Browser meldet sich anders: Hier einige ältere Beispiele mit dem Betriebssystem MAC: Mozilla/4.04 (Macintosh; I; PPC, Nav) Der gerade verwendete Browser ist übrigens: <!--#if expr="$HTTP_USER_AGENT=/MSIE/ "
--> Noch ein Fehler. Doof! Mail an mark@dizign.de Fight the Microsoft Monopoly. Get Mozilla! Die beiden Schrägstriche /WERT/ bedeuten das der zweite
Wert als regulärer Ausdruck behandelt wird. In diesem
Fall wird untersucht ob der Wert in #http_user_agent enthalten
ist. SetMit #set include können Variablen erzeugt und Werte
zugewiesen werden. Variablen können geprintet oder in
#if "Schleifen" verwendet werden. <!--#set var="fahrzeug" value="Mercedes"
--> Mercedes Das $ Zeichen in der #if include Anweisung wird benötigt
um zu gewährleisten, daß fahrzeug als Variable
und nicht als Zeichenkette interpretiert wird. EchoMit ECHO können Browser und Server Informationen (Umgebungs
Variablen) ausgegeben werden. Document Name: <!--#echo var="document_name"--> Document Name: index.shtml Nicht alle Befehle liefern Werte. Dies ist abhängig
von Server, Browser und der Art des Seitenaufrufs. Print EnvironmentUm alle Umgebungsvariablen auszugeben muß man nicht die ganzen #echo includes aufrufen. Statt dessen funktioniert das ganze mit: <pre> <!--#printenv --> </pre>
Skripte ausführenMit SSI können auch Skripte aufgerufen werden. <!--#exec cgi="../cgi-bin/forum.cgi"--> File SizeDie Dateigröße kann so eingefügt werden: <!--#fsize file="index.shtml"--> 20K Dies ist die Größe dieser Datei. Wie unter Dateigröße formatieren eklärt, kann die Größe sowohl in Bytes als auch abgekürzt als KByte oder MByte ausgegeben werden. File DateDer Zeitpunkt der letzten Änderung kann wie folgt angegeben
werden: <!--#flastmod file="index.shtml"--> Letzte Änderung am: Tuesday, 11 July 2023 at 20:50:30 Die Datumsformatierung siehe oben.
|