Gandalf-Elemente und Attribute

Ich gehe in den nachfolgenden Beispielen davon aus, daß die Gandalf-Elemente über den Namespace <code>gdf</code> angesprochen werden, was die Standard-Einstellung ist.

 

 

basis-Modul

main

Mit main können die Seite betreffende Werte gesetzt werden.

Attribute

nocache (0, 1)
nocache legt fest, ob eine von Gandalf generierte Seite in den Cache geschoben werden soll (Wert "0"), damit sie bei einem erneuten Aufruf aus dem Cache geholt werden kann. Dies ist sinnvoll bei Seiten, die sich nicht ändern. Bei Seiten deren Inhalt aber aus übergebenen Werten erzeugt wird, sollte dieser Parameter gesetzt werden. (Wert "1")
session (0, 1)
Sollten auf einer Seite Sessionvariablen benutzt werden, muß das Attribut session auf "1" gesetzt werden.
xmlns
Mit xmlns kann der Namespace für Gandalf-Elemente definiert werden.

include

Einfügen einer Datei.

Attribute

file
Der Dateiname, auch externe Angaben wie "http://..." sind erlaubt.
type (gd, htmlraw, html, text)
Die Typen bedeuten:
  • gd - Es handelt sich um eine Gandalf-Datei
  • htmlraw - Eine HTML-Datei, die genau so eingelesen wird
  • html - Bei dieser HTML-Datei wird alles unterhalb des <body> und oberhalb des </body> ausgegeben
  • text - Es handelt sich um Text, der mit txt2html nach HTML gewandelt werden soll

if

Anzeige eines Bereiches, wenn die Bedingung erfüllt ist.

Attribute

check
hier steht dann eine logische Bedingung

Beispiel

<gdf:if check="'$dataitem[0].'=='del'">
Soll die Nachricht mit Priorität <gdf:print var="updprioritaet" type="session"/>
und Gültigkeit <gdf:print var="updgueltig_ab" type="session"/>
wirklich gelöscht werden?
<form action="dodelete.html" method="post">
    <input type="Submit" name="delete" value="Ja"/>
    &nbsp;
    <input type="Submit" name="delete" value="Nein"/>
</form>
</gdf:if>
</listing>

image

Bildausgabe mit automatischer Ermittlung der Bildgröße.

Attribute

src
Der Pfad zum Bild
alt
Der Alternativtext, er sollte das Bild beschreiben, wenn es nicht geladen werden kann.
align
Wie soll das Bild ausgerichtet sein?
border
Randeinstellung

Die Attribute entsprechen denen des <img src ...> Elements und werden deswegen hier nicht weiter beschrieben.

set

Setzen von Variableninhalten.

Attribute

var
Variablenname
index
Wenn es ein Array ist, muß hiermit der Index angegeben werden
val
Der zu setzende Wert
type (session)
session - Wenn dies angeben wird, muß auch bei "gd" das Attribut "session" gesetzt sein

Sessionvariablen

Dies sind Variablen, die sitzungsspezifisch gesetzt werden. So könnten z.B. zwei Einstiegsseiten gestaltet werden, die ein unterschiedliches Design haben. Die Folgeseite könnte aber jedesmal gleich sein. Auf der Startseite könnte jetzt also eine Sessionvariable mit dem gewünschten Design definiert sein, die auf der Folgeseite benutzt wird. Damit Sessions funktionieren, müssen für die Seiten, auf denen sie benutzt werden, der Cache deaktiviert werden.

Rein theoretisch können Sessionvariablen und lokale Variablen unter identischen Namen koexistieren. Da dies verwirrend sein könnte, wird dies aber nicht empfohlen.

print

Ausgabe einer Variablen.

Attribute

var
Variablenbezeichnung
index
Wenn es ein Array ist, muß hiermit der Index angegeben werden
repeat
0 = überhaupt nicht anzeigen, jeder andere Wert wiederholt die Ausgabe der Zahl entsprechend häufig an
type (session)
session - Wenn dies angeben wird, muß auch bei "gd" das Attribut "session" gesetzt sein
mode (text, date)
Die verschiedenen mode-Werte definieren, wie die Ausgabe behandelt werden soll.
  • text - Zeilenumbrüche (CR) werden in
    umgewandelt
  • date - Ein Ansidatum (YYYYMMDD) wird in das deutschte Format (DD.MM.YYYY) umgewandelt

In Attributen kann auch ganz einfach mit "$variable" der Wert übergeben werden. Folgt auf den Variablenwert noch etwas, muß es mit einem Punkt getrennt werden.

db-Modul

dbitem

Anzeige eines einzelnen Datensatzes.

Attribute

view
Definition des Datenbank-Views. Erklärung siehe unten.
fail
diese Seite soll im Fehlerfall dargestellt werden. Dies ist ungetestet.

Die Daten stehen in den Variablen

  • dbserver - Serveradresse
  • dbuser - Benutzer
  • dbpasswd - Password

mit dem Index, der in dbname definiert wurde.

und

  • dbname - Datenbankname
  • dbview - View

mit dem Index, der in view gesetzt ist.

Da die Erklärung unverständlich ist, folgt hier ein

Beispiel

Definition
<!-- Serverwerte -->
<gdf:set var="dbserver" index="roswell" val="localhost"/>
<gdf:set var="dbuser"   index="roswell" val="roswell"/>
<gdf:set var="dbpasswd" index="roswell" val="surfer"/>

<!-- Einzeldarstellung -->
<gdf:set var="dbname"   index="roswellitem" val="roswell"/>
<gdf:set var="dbview"   index="roswellitem" 
val="select * from folgen where folge=$dataitem."/>
Aufruf
<gdf:dbitem view="roswellitem">
<gdf:print var="inhalt"/>
...
</gdf:dbitem>

dblist

Anzeige einer Liste, die aus einer SQL-Abfrage erzeugt wurde.

Attribute

view
Definition wie bei dbitem

dbsetvar

Füllen einer Variablen mit Daten einer SQL-Abfrage

Attribute

view
Definition wie bei dbitem
var
Die Variable, in die die Abfragedaten geschrieben werden sollen

Mit dbsetvar kann zum Beispiel die Variable für die Menüerzeugung aus einer Datenbank geholt werden. Besteht die Abfrage aus mehreren Variablen, werden die Werte durch Kommata getrennt.

dbcommand

Ausführen eines Datenbankbefehls.

Attribute

view
Der auszuführende View, Definition wie bei dbitem
fail
Seite, die im Fehlerfall aufgerufen werden soll. Dies ist ungetestet.

Beispiel

<!-- Serverwerte -->
<gdf:set var="dbserver" index="scn" val="localhost"/>
<gdf:set var="dbuser"   index="scn" val="testuser"/>
<gdf:set var="dbpasswd" index="scn" val="test"/>

<!-- Delete -->
<gdf:set var="dbname"   index="scn_delete" val="scn"/>
<gdf:set var="dbview"   index="scn_delete">
DELETE FROM sc_nachrichten WHERE prioritaet='
<gdf:print var="updprioritaet" type="session"/>' AND gueltig_ab
</gdf:set>

<gdf:dbcommand view="scn_delete" fail="fail.html"/>

edit-Modul

form

Eine einfache Formularumgebung.

Attribute

action
Welche Aktion soll mit dem Formular ausgeführt werden
buttons
Bezeichnung der Knöpfe
method (get, post)
Übertragungsmethode (get/post)

Beispiel

<gdf:form action="doinsert.html" buttons="Einfügen,Reset">
<gdf:input title="Priorität" name="prioritaet" size="3"/>
<gdf:input title="Gültig ab" name="gueltig_ab" size="10"/>
<gdf:input title="Gültig bis" name="gueltig_bis" size="10"/>
<gdf:input title="Titel" name="titel" size="30" maxlength="50"/>
<gdf:input title="Nachricht" name="nachricht" rows="10" cols="60" value="Text"/>
</gdf:form>

Formularseiten sollten immer ungecached betrieben werden, das bewirkt eine Eingabe von <gd nocache="1"/> im Quelltext.

get_vars

Überträgt alle Variablen, die dem Script per GET oder POST übertragen wurden in Gandalf-Variablen diesen Namens.

input

Erzeugt Eingabefelder für verschiedene Datentypen

Attribute

title
Feldbezeichnung
name
Variablenname des Feldes
size
maxlength
type
value
Vorbelegung
options
Durch CR getrennte Optionsliste
rows
Anzahl der Zeilen
cols
Anzahl der Spalten

menu-Modul

menu

Automatisches Erzeugen eines Menüs.

Attribute

menu
Die Menüdefinition
start
Der Startlevel, der ausgegeben werden soll
end
Bis zu diesem Menülevel wird ausgegeben
style
Der Stil
mode (line)
line bedeutet, daß die Krümelnavigation verwendet wird.

menu ist im Moment noch hart verdrahtet, dies wird sich in Zukunft noch ändern. Wenn jemand ein anderes Design haben möchte, muß er zur Zeit direkt im Menü-Modul das Design ändern.

show_pictures-Modul

show_pictures

Anzeige einer Bilderliste.

Attribute

list
limit

Die Ausgabe ist noch sehr hart verdrahtet. Da dieses Modul sehr speziell auf meine Bedürfnisse geschrieben ist, ist es fraglich, ob es jemand außer mir einsetzen wird.

secure-Modul

Dieses Modul ist höchst experimentell und letztendlich nicht mal einsetzbar, geschweige denn richtig programmiert. Da macht es auch keinen Sinn, irgendetwas zu dokumentieren.

designed by musteradresse.com Impressum Erstellt von: Michael Vogel