Marker Syntax

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&param-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.

page_revision: 9, last_edited: 1185283942|%e %b %Y, %H:%M %Z (%O ago)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License