Verzeichnisname = Gästebuchname
Das Gästebuch CGI-Script bietet Ihnen die Möglichkeit Ihr Gästebuch im Design an Ihre Wünsche anzupassen. Es benutzt für alle seine Ausgaben nämlich HTML-Schablonen, die mit dem Anlegen des Gästebuchs in das Verzeichnis kopiert werden. Diese Funktionalität ist jedoch nur für erfahrenen Benutzer gedacht, da Sie direkt erweiterten HTML-Code editieren müssen und außerdem mit Konzepten wie Variablensubstitution und Programmschleifen vertraut sein sollten.
Welche Möglichkeiten Sie genau haben steht als Kommentare in
den Standardschablonen oder weiter unten in dieser Datei.
Die Standardschablonen können sie können sie jederzeit
wiederherstellen, indem Sie auf der Einbauen -
Seite der Gästebuch Administration auf den Button
Standard klicken.
Achtung: Eventuelle
Änderungen Ihrerseits werden dabei überschrieben. Das aber
auch kann zur
Folge haben, daß Ihr Gästebuch nicht mehr korrekt angezeigt
wird, besonders wenn Sie eigene Felder definiert haben.
Behalten Sie also immer eine Kopie der letzten funktionierenden
Version Ihrer Schablonen an einem sichern Ort.
Für diejenigen die jetzt noch nicht abgeschreckt sind, folgt hier eine kleine Aufstellung der Dateien im Gästebuchverzeichnis:
book.gb
book.html
book.db
ersetzt.message.html
book.html
eingesetzt werden können.receipt.html
index.html
page[nnn].html
README.html
Sie können die Schablonen ansehen, lokal abspeichern und editieren. Benutzen Sie einen HTML-Editor, bei dem Sie Kontrolle über den erzeugten Code haben oder einen Texteditor, um die Schablonen zu editieren. Netscape Composer rearrangiert öfters eigenmächtig die Zeilen, falls er HTML-TAGS nicht kennt. Dies tritt besonders in Tabellen auf.
Um neue Schablonen zu testen müssen Sie die Gästebuchseiten neu erzeugen lassen. Dies können Sie ohne Neueingabe einer Nachricht erreichen, indem Sie in der Eigenschaften-Seite der Gästebuch-Administration auf ausführen klicken.
Alle Felder die im folgenden Formular definiert werden
können in der Ausgabe Schablone benutzt werden.
Der Name des Feldes, in Dollarzeichen eingeschlossen,
wird durch den Wert des Feldes ersetzt.
Ausnahme sind Felder deren Namen mit einem Unterstrich
beginnen und solche deren Namen mit check_
beginnen.
Mit den check_
- Feldern kann man andere Felder überprüfen
lassen. Dazu hängt man an das check_
den Namen des zu
überprüfenden Feldes.
Es gibt z.Zt. vier Check-Modi, die mit value='modi'
ausgewählt werden können.
Beispiel:
<input type=text name=Email size=60 maxsize=60> <input type=hidden name=check_Email value="email required">verlangt zwingend die Angabe eine Email-Adresse im Feld Email.
Hier wird die neu Nachricht noch einmal zur Kontrolle ausgegeben. Da nicht bekannt ist, welche Felder Sie im Eingabeformular 'message.html' definiert haben, wird Sie in einem generischen Tabellenformat dargestellt. Sie können hier natürlich auch die Variablen für Ihre definierten Felder angeben und so ein schöners Layout generieren.
Dies ist eine Schablone die durch Variablensubstitution mit
Werten gefüllt wird. Gültige Variablen sind die unten
aufgeführten, sowie die Namen der Input-Felder der
Eingabeschablone. Diese sind jedoch nur zwischen den 'foreach'
tags gültig.
Die Variablennamen müssen mit einem Dollarzeichen '$' eingerahmt
werden, damit die Ersetzung stattfindet. Durch die Einrahmung sind
auch Variablennamen mit Leerzeichen möglich.
Auch möglich ist ein <input name=variablenname value=""> Feld,
value="" wird dann durch value="Variablenwert" ersetzt.
Check- und Radiobuttons, sowie Popupmenus werden entsprechend
der Einstellung gleicher Elemente in der Eingabeschablone
gesetzt, sofern sie den gleichen Namen haben.
Die if - Tags möglichen es Variablen gegen bestimmte Werte
oder auf Vorhandensein zu testen. Auch die Negation mit 'not'
bzw. '!' ist möglich und es gibt einen else
Zweig.
Wichtig:Man kann sie nicht schachteln!
Syntax:
<if [!|not] variable [operator value]> HTML-TEXT [<else> HTML-TEXT]</if>
Operator | Bedeutung |
---|---|
== | gleich (numerisch) |
!= | ungleich (numerisch) |
gt | größer (numerisch) |
lt | kleiner (numerisch) |
ge | größer gleich (numerisch) |
le | kleiner gleich (numerisch) |
eq | gleich (Zeichenkette) |
ne | ungleich (Zeichenkette) |
=~ | enthält Zeichenkette (bzw. match regex) |
!~ | enthält Zeichenkette nicht |
Beispiel:
<if Variable == 1> Variable hat numerischen Wert: 1 </if> oder: Test ob Variable bestimmte Zeichenkette enthält: <if Variable =~ "Hallo"> Variable enthält "Hallo": $Variable$ </if> oder: Test ob Variable gleich String ist: <if Variable eq "Hallo"> Variable ist: $Variable$ </if> oder: Test ob Variable vorhanden und nicht leer ist, mit else Zweig: <if Variable> Variable ist: $Variable$ <else> Variable ist leer </if>
Zwischen den <foreach messages> ... </foreach>
Tags findet die Nachrichtenersetzung statt.
Dort sind für jede Nachricht alle Variablen belegt
für die Sie entsprechende Felder in der Eingabeschablone
definiert haben.
Zusätzlich sind folgende automatische Variablen gültig:
Zwischen den 'foreach' Tags zusätzlich gültig:
Folgende globale Variablen existieren:
Falls Sie in Ihrer Eingabeschablone folgende Buttons definieren:
<input type=radio name=Icon value="Frage"> Icon Nr.1 <input type=radio name=Icon value="Antwort"> Icon Nr.2so können Sie in der Ausgabeschablone ein Bild abhängig von dieser Einstellung anzeigen, z.B. mit:
<img src="$Icon$.gif">