Content-Variablen
Der Marker einer Content-Variablen wird zur Laufzeit durch den Output des PHP-Handlerscripts ersetzt, das mit der Variablen verknüpft ist.
Die Syntax eines einfachen Content-Variablen-Markers lautet:
[%VAR:variablen-name%]
In diesem Fall wird [%VAR:variablen-name%] durch den HTML-Output des Handlerscripts variablen-name.php ersetzt. Es kann sich um beliebig komplexen Output handeln. Der Output des PHP-Handlerscripts und die Positionierung des Markers im Inhalt sollten jedoch so aufeinander abgestimmt sein, dass sich keine HTML-Strukturverletzungen ergeben.
Eine Content-Variable kann vorkommen:
- im HTML-Code eines Seiten-Templates,
- im HTML-Code eines Include-Templates,
- im HTML-Code eines Seiteninhalts,
- im HTML-Code, der von einer anderen Content-Variablen generiert wird.
Content-Variablen mit Parametern
Dem Handlerscript, das mit der Content-Variablen verknüpft ist, können Parameter übergeben werden. Fragt das Handlerscript die Parameter ab, kann es übergebene Werte mit verarbeiten oder parameterabhängige Entscheidungen treffen. Die Syntax eines Content-Variablen-Markers mit einem Parameter lautet:
[%VAR:variablen-name?param-name=Wert%]
Bei mehreren Parametern lautet die Syntax:
[%VAR:variablen-name?param-1=Wert1¶m-2=Wert2%]
Es gelten die gleichen Regeln wie bei GET-Parametern für einen HTTP-Aufruf: der Parameterstring wird durch ein Fragezeichen (?) eingeleitet. Parameternamen und -werte werden durch Gleichheitszeichen (=) getrennt, und mehrere Parameter werden durch Ampersand (&) getrennt.
Conditional-Variablen
Bei einer Conditional-Variable gibt das verknüpfte Handlerscript keinen HTML-Code zurück, sondern einen booleschen Wert (true/false). Wird true zurückgegeben, wird der Inhalt der Conditional-Variablen angezeigt. Wird false zurückgegeben, wird der Inhalt nicht angezeigt.
Die Syntax eines einfachen Conditional-Variablen-Markers lautet:
[%VARBEGIN:variablen-name%]... bedingter Inhalt ...[%VAREND:variablen-name%]
Der bedingte Inhalt kann aus beliebig komplexem HTML-Code bestehen und auch andere Marker enthalten. Lediglich das Verschachteln der gleichen Conditional-Variablen ist unzulässig.
Conditional-Variablen können in den gleichen HTML-Code-Umgebungen vorkommen wie Content-Variablen.
Conditional-Variablen mit Parametern
Conditional-Variablen können auf gleiche Weise wie Content-Variablen Parameter übergeben bekommen. Syntax siehe dort.
Navigations-Variablen
Navigations-Variablen verknüpfen eine Navigation bzw. die Baumstruktur ihrer Einträge mit einem Navigations-Template. Im Navigations-Template ist definiert, wie ein Eintrag welcher Navigationsebene dargestellt werden soll. Durch die Position im HTML-Code bestimmen Navigations-Variablen außerdem, wo eine Navigation platziert wird.
Die Syntax eines Navigations-Variablen-Markers lautet:
[%NAV:navigations-name,navigations-template-name%]
Include-Templates
Include-Templates sind statische Text- bzw. Code-Bausteine von beliebiger Komplexität. Eine Include-Template kann vorkommen:
- im HTML-Code eines Seiten-Templates,
- im HTML-Code eines anderen Include-Templates,
- im HTML-Code eines Seiteninhalts,
- im HTML-Code, der von einer Content-Variablen generiert wird.
Im HTML-Code von Include-Contents können andere Include-Contents, Content-Variablen, Conditional-Variablen, Include-Medien, Include-Styles und Include-Scripts vorkommen.
Die Syntax eines Include-Template-Markers lautet:
[%TEMPLATE:include-template-name%]
Include-Medien
Include-Medien sind benannte Grafiken oder Multimedia-Objekte. Über den Namen sind sie auf einfache Weise referenzierbar. Um nur die URL-Adresse eines Include-Mediums einzubinden, steht folgende Marker-Syntax zur Verfügung:
[%MEDIUMURL:include-medium-name%]
Diese Form der Referenzierung kann im HTML-Code typischerweise so verwendet werden wie in den nachfolgenden Beispielen:
<img src="[%MEDIUMURL:logo%]" alt="Logo"> <object type="application/x-shockwave-flash" style="width:425px; height:350px" data="[%MEDIUMURL:hochzeitsvideo%]"> <param name="movie" value="[%MEDIUMURL:hochzeitsvideo%]"></param> <param name="quality" value="high"></param> </object>
Daneben besteht die Möglichkeit, nur den Include-Medium-Marker zu notieren und den kompletten HTML-Code für die Darstellung der Grafik oder des Objekts der Webanwendung zu überlassen. Die Webanwendung verwendet dazu vordefinierte Code-Fragmente abhängig vom MimeType des Include-Mediums, also z.B. ein img-Element für gif-, jpeg- und png-Grafiken usw. Die Marker-Syntax lautet in diesem Fall:
[%MEDIUMREF:include-medium-name%]
Also MEDIUMREF statt MEDIUMURL.
Include-Medien-Marker können vorkommen:
- im HTML-Code eines Seiten-Templates,
- im HTML-Code eines Include-Templates,
- im HTML-Code eines Seiteninhalts,
- im HTML-Code, der von einer Content-Variablen generiert wird.
Include-Styles
Include-Styles sind CSS-Stylesheets mit Selektoren-Syntax, so wie sie auch in style-Elementen oder in separaten CSS-Dateien notiert werden. Um nur die URL-Adresse eines Stylesheets einzubinden, steht folgende Marker-Syntax zur Verfügung:
[%STYLEURL:include-style-name%]
Diese Form der Referenzierung kann im HTML-Code typischerweise so verwendet werden wie in den nachfolgenden Beispielen:
<link rel="stylesheet" type="text/css" href="[%STYLEURL:default-theme%]"> <style type="text/css"> @import url([%STYLEURL:default-theme%]); </style>
In einer weiteren Variante kann der Include-Style-Marker den HTML-Code zum Einbinden komplett ersetzen. In dieser Variante hat der Marker folgende Syntax:
[%STYLEREF:include-style-name%]
Also STYLEREF statt STYLEURL. Die Webanwendung ersetzt den Marker beispielsweise durch:
<link rel="stylesheet" type="text/css" href="/styles/default-theme.css">
Daneben besteht aber auch noch die Möglichkeit, den kompletten Stylesheet-Inhalt einzubinden. In diesem Fall lautet die Marker-Syntax:
[%STYLE:include-style-name%]
Also nur STYLE statt STYLEREF oder STYLEURL. Die Webanwendung ersetzt diesen Marker durch ein style-Element, und dessen Inhalt durch den Inhalt des verknüpften Stylesheets.
Include-Style-Marker können vorkommen:
- im HTML-Code eines Seiten-Templates,
- im HTML-Code eines Include-Templates,
- im HTML-Code eines Seiteninhalts,
- im HTML-Code, der von einer Content-Variablen generiert wird.
Da Stylesheets mit Selektoren-Syntax im Kopf eines HTML-Dokuments stehen oder referenziert sein müssen, gilt das natürlich nur für HTML-Codes dieses Bereichs.
Include-Scripts
Include-Scripts sind JavaScripts, so wie sie auch in script-Elementen oder in separaten JavaScript-Dateien notiert werden.
Bei Include-Scripts stehen die gleichen drei Marker-Varianten wie bei Include-Styles zur Verfügung, also SCRIPTURL, SCRIPTREF und SCRIPT. Bei SCRIPTURL wird nur die URL-Adresse des JavaScripts ersetzt. Bei SCRIPTREF wird ein script-Element mit src-Attribut und ohne Elementinhalt generiert, und bei SCRIPT wird ein script-Element mit dem Inhalt des Scripts als Elementinhalt generiert.
Include-Script-Marker können in den gleichen HTML-Code-Umgebungen vorkommen wie Include-Style-Marker. Im Gegensatz zu jenen sind Include-Script-Marker auch innerhalb des HTML-body-Bereichs erlaubt, entsprechend den Vorkommensregeln für das script-Element.