Velocity-Templates

CMS Fiona verwendet Velocity-Templates (Dateiendung .vm), um die Ansichten im Content Navigator anzuzeigen. Velocity ist ein Interpreter, der in Servlet-Umgebungen eingesetzt werden kann und Inhalte mittels Templates ausgibt (siehe http://velocity.apache.org/). Administratoren können Templates schreiben und anpassen, um sowohl die dargestellten Felder von CMS-Dateien als auch deren Darstellung zu beeinflussen.

Das GUI lädt neben den Templates für die Darstellung der Details immer auch das Template macros.vm. Sie können in dieser Datei Ihre eigenen Makros ablegen, jedoch wird diese Datei bei einer Migration auf eine neuere Fiona-Version nicht automatisch übernommen. Daher ist es besser, die Makros in der Datei contentInspectors.xml im config-Verzeichnis der betreffenden Instanz zu pflegen. Ein Beispiel:

<contentInspectors>
  ...
  <templates>
    <template name="macros.vm">
      <![CDATA[
        ## my macros
      ]]>
    </template>
  </templates>
  ...
</contentInspectors>

Mit Hilfe der im Folgenden aufgeführten Schlüsselwörter können Werte aus verschiedenen Kontexten ausgelesen werden. Schlüsselwörter, die sich auf die CMS-Entitäten Datei, Version, Link, Feld und Feldgruppe beziehen, können auch per Tcl abgefragt werden und sind in der Tcl-Referenz beschrieben.

Schlüsselwörter im Kontext der aktuellen CMS-Datei

Schlüsselwort Typ Bedeutung
content ContentTool Liefert editedContent oder releasedContent, je nach Präferenz des Benutzers und Vorhandensein der Version
editedContent ContentTool Die Arbeitsversion der Datei, falls existent
icons String Schema-basierte URL-Ermittlung von Icons. Beispiel:
<img src="$icons.get("image.png")"/>
lang String Das Sprachkürzel des Benutzers: "de", "en", .... Verwenden Sie eine if-Abfrage um eigene Zeichenketten zu lokalisieren: #if ($lang == "de") Hallo #elseif ($lang == "en") Hello #else Hi #end
localizer String Wird intern verwendet, um in der Benutzersprache lokalisierte Zeichenketten zu ermitteln
object ObjectTool Die aktuell anzuzeigende Datei
releasedContent ContentTool Die freigegebene Version der Datei, falls existent
role String Die dem Benutzer zugeordnete oder von ihm ausgewählte Oberfäche. Fragen Sie dieses Schlüsselwort ab, um beispielsweise Felder je nach gewählter Oberfläche anzuzeigen oder zu verbergen.

Schlüsselwörter im ObjectTool ($object.key)

Schlüsselwort Typ Bedeutung
hasMirrors AttributeTool
id AttributeTool
isDeactivated AttributeTool
isMirror AttributeTool
mirrors LinkListTool
name AttributeTool
original AttributeTool Bei Spiegeldateien der Pfad des Originals
path AttributeTool
reminder AttributeTool Wiedervorlage
type AttributeTool
visiblePath AttributeTool
objClass AttributeTool
isExportSuppressed AttributeTool
isExportable AttributeTool
isEdited AttributeTool
isReleased AttributeTool
editedContent ContentTool
releasedContent ContentTool
content ContentTool Version, die entsprechend der aktuellen Darstellung angezeigt wird
workflow AttributeTool
version AttributeTool
superlinks LinkListTool
state AttributeTool Status der Datei, je nach vorhandenen Versionen (released, edited, committed)
hasPermissionRead AttributeTool
hasPermissionWrite AttributeTool
hasPermissionRoot AttributeTool
hasPermissionCreateChildren AttributeTool
permissionRead AttributeTool Gibt Gruppennamen aus
permissionCreateChildren AttributeTool Gibt Gruppennamen aus
permissionLiveServerRead AttributeTool Gibt Gruppennamen aus
permissionRoot AttributeTool Gibt Gruppennamen aus
permissionWrite AttributeTool Gibt Gruppennamen aus

Schlüsselwörter im ContentTool

Schlüsselwort Typ Bedeutung
title AttributeTool
contentType AttributeTool
validFrom AttributeTool
validUntil AttributeTool
lastModified AttributeTool
lastChanged AttributeTool Synonym für lastModified
thumbnail AttributeTool img-Link auf das Thumbnail
preview AttributeTool Inline-Preview bei Bildern, sonst a-href-Link auf Preview-Page
getAttributeGroup(name) AttributeGroupTool
attributeGroups AttributeGroupTool-Liste
sourceCode AttributeTool Quelltext-Ansicht
blobLength AttributeTool
width AttributeTool
height AttributeTool
bodyTemplateName AttributeTool
mimeType AttributeTool
isComplete AttributeTool
reasonsForIncompleteState AttributeTool
channels AttributeTool
textLinks LinkListTool Links im Hauptinhalt
body AttributeTool
blob AttributeTool Synonym für Hauptinhalt
sortOrder SortOrderTool
Namen anderer Versionsfelder AttributeTool

Schlüsselwörter im AttributeGroupTool

Schlüsselwort Typ Bedeutung
editButton String HTML-Code für Edit-Button
editMarkupOpen String Öffnender HTML-Code für Edit-Marker
editMarkupClose String Abschließender HTML-Code für Edit-Marker
title String Lokalisierter Titel der Feldergruppe
name String Name der Feldergruppe
identifier String Identifier der Feldergruppe
isDefaultGroup boolean
isEmpty boolean
attributes AttributeTool-Liste

Schlüsselwörter im SortOrderTool

Schlüsselwort Typ Bedeutung
editButton String HTML-Code für Edit-Button.
editMarkupOpen String Öffnender HTML-Code für Edit-Marker
editMarkupClose String Abschließender HTML-Code für Edit-Marker
label String Lokalisiertes Label Sortierung
getLabel(i) String Sortierkriterium mit dem Index 1 ≤ i ≤ 3
getType(i) AttributeTool Typ des Sortierkriteriums mit dem Index 1 ≤ i ≤ 3
getKey(i) AttributeTool Sortierkriterium-Feld mit dem Index 1 ≤ i ≤ 3
getKeyLength(i) AttributeTool Länge des Sortierkriterium-Feldes mit dem Index 1 ≤ i ≤ 3
direction(i) AttributeTool Sortierrichtung ascending oder descending

Schlüsselwörter im AttributeTool

Schlüsselwort Typ Bedeutung
editButton String HTML-Code für Edit-Button.
editMarkupOpen String Öffnender HTML-Code für Edit-Marker
editMarkupClose String Abschließender HTML-Code für Edit-Marker
displayValue String Formatierter Anzeigewert
helpText String Hilfetext des Feldes (ab Version 6.10)
editButton String HTML-Code für Edit-Button.
label String Lokalisiertes Label
placeholderForEmpty String Der Wert, der anstelle des leeren Wertes ausgegeben wird
type String date, enum, multienum, html, generic, image, linklist, signature, string, text, boolean, integer, href
isMandatory boolean 1 bei obligatorischen Feldern, andernfalls 0

Schlüsselwörter im LinkListTool

Schlüsselwort Typ Bedeutung
editMarkupOpen String Öffnender HTML-Code für Edit-Marker
editMarkupClose String Abschließender HTML-Code für Edit-Marker
editButton String HTML-Code für Edit-Button
label String Lokalisiertes Label
isEmptyAndEditingAllowed boolean wahr, wenn die Linkliste leer und ihre Bearbeitung erlaubt ist (nicht der Fall bei Textlinks und Superlinks)
placeholderForEmpty String Der Wert, der an Stelle des leeren Wertes angezeigt wird
type String Gibt immer linklist zurück
isMandatory boolean 1 bei obligatorischen Feldern, andernfalls 0
links LinkTool-Liste Die in der Linkliste enthaltenen Links

Schlüsselwörter im LinkTool

Schlüsselwort Typ Bedeutung
iconMarkup String HTML-Code, der ein Icon einbindet
isComplete boolean Gibt an, ob der Link vollständig ist
displayUri String Der bereits als HTML-Text gequotete URI des Links
title String Der Titel der Links, kann null sein
followLinkMarkup String HTML-Code für einen Link, der bei Klick zum Linkziel navigiert, kann null sein
sourceObject ObjectTool Quelle des Links
targetObject ObjectTool Ziel des Links