CMS-Dokumentation @ Helge Konetzka

Konfigurationsdatenstrukturen

Zeile mit chdir "xxx";
Das Verzeichnis auf dem Server, das das Rootverzeichnis der Website darstellt
$server
Der Webserver
$www
Das Verzeichnis auf dem Webserver, über den die Website im Internet adressiert wird.
$cms
Die Internetadresse des Content-Management-Systems
$gui
Das Verzeichnis der GUI innerhalb des Rootverzeichnis der Website
$images
Das Bilderverzeichnis innerhalb $gui (optional)
%db
Tabellendateien als Schlüssel, Titel als Wert
%auto_templates
Tabellendateien als Schlüssel, Anonymes Array von Templates ohne eigene Tabelle als Wert
$password
Das Passwort zur Authentifikation zur normalen Verwendung
$adminpass
Das Passwort zur Authentifikation zur Administration (Einspielen von Templates)
%buttons
Bestimmte Schlüsselworte als Schlüssel, Anonymes Array von Buttonbeschriftung, Status, Buttonbild und Highlight als Wert
Status bestimmt nächstes Formular
Buttonbild optional, Highlight möglich falls Buttonbild

Tabellenformat

In der ersten Zeile werden einerseits die Spaltennamen festgelegt, andererseits bestimmte Flags gesetzt. Die Flags werden durch Unterstrich vom Spaltennamen getrennt. Die Spalten werden durch Tabulatoren getrennt.

Die erste Spalte enthält für gewöhnlich den primären Schlüssel der Tabelle, diese Spalte muss das Flag U erhalten. Die zweite Spalte den TimeStamp, der Konkurrenzen ausschliessen soll und das Datum der letzten Änderung protokolliert. Diese beiden Spalten sind das Minimum für eine Tabelle.

Folgende Flags existieren:

U - Unique
Diese Spalte wird eindeutig gehalten
N - Needed
Diese Spalte muss einen Wert erhalten
S - Show
In der Listenansicht wird der Inhalt dieser Spalte angezeigt
F - Field
In der Eingabeansicht wird ein grosses Textfeld angeboten
B - Binary
Diese Spalte verwaltet den Namen einer hochgeladenen Datei
H - http
Für diese Spalte erscheint ein Hinweis bzgl. internen und externen Webadressen
_xx Eine Zahl
Die Zahl gibt die maximale Anzahl Zeichen an.

Templates

Tabellenspezifikation

Es gibt zwei Arten von Templates, nämlich Komplettvorlagen und Listen.

Aus der Komplettvorlage (TEMPLATE.xxx.TEMPLATE) wird für jeden Datensatz der zugehörigen Tabelle (DATA.xxx.DATA) eine Kopie (yyyy.xxx) erstellt und mit diesem zusammengeführt. Hierfür ist ein eigenes Verzeichnis notwendig.
yyyy ist hier der aus dem Datensatz ermittelte Dateiprefix, xxx der Dateisuffix (z.B. html).

Die Listentemplates (yyyy.xxx.TEMPLATE) enthalten einen oder mehrere Templatebereiche, die mit <TEMPLATE_TABELLENNAME> eingeleitet und mit </TEMPLATE_TABELLENNAME> abgeschlossen werden. TABELLENNAME kann eine zu diesem Template gehörige Tabelle sein, die Tabelle/n (yyyy.xxx.TABELLENNAME) ist/sind dann im gleichen Verzeichnis.
Ansonsten existiert eine Tabelle, die abgefragt werden kann. Diese wird mit zum Rootverzeichnis der Website relativem Pfad anstelle von TABELLENNAME angegeben.
yyyy.xxx ist hier der durch das Template festgelegte Dateiname samt Dateisuffix (z.B. html).

Informationsabfrage anhand von CMS-Tags

Innerhalb der Komplettvorlagen und Templatebereiche werden aus der zugehörigen Tabelle Informationen interpoliert werden.

Hierzu werden Elemente mit CMS_ eingeleitet und dem Spaltennamen abgeschlossen. Diese Elemente können teilweise CMS-Attribute enthalten und teilweise darauf folgende normale HTML-Attribute.

Unäre Tags - Es wird nicht rekursiert

Enthält das Tag keine CMS-Attribute, wird das Spaltendatum interpoliert. Folgende CMS-Attribute sind möglich:

CMS_TYPE=IMAGE

CMS_TYPE=NAME

Deprecated: CMS_TYPE=SECMAIL

Binäre Tags - Es wird rekursiert

Wenn SPALTENDATUM existiert, wird ggf. entsprechend des CMS_TYPE interpoliert und rekursiert.

Folgende Bedingungen zur Interpolation und Rekursion sind realisiert:

Folgende CMS-Typen sind möglich:

CMS_TYPE=HREF

CMS_TYPE=DATASHEET

CMS_TYPE=LIST

Skins

Es gibt fünf Formulare, die angepasst werden müssen, um eine eigene Bedienoberfläche zu gestalten: choose-, edit-, list-, login- und show_TEMPLATE.

Außerdem kann anstelle des CGIs eine html-Datei aufgerufen werden, die ein Frameset enthält, das das CGI aufruft.

Neben den in der Standardvorlage enthaltenen, können <!--Path--> und <!--PreloadHighlight--> eingefügt werden. Path interpoliert den Pfad in dem die Templates liegen, z.B. für Hintergrundbilder. PreloadHighlight die Bilder die beim MouseOver gehighlightet werden sollen.