Startseite / Vorlagenentwicklung / Vorlagensyntax / Systemobjekte

SystemobjekteVerfügbar ab FirstSpirit-Version 4.0

Verwendung von Systemobjekten

Über Systemobjekte kann innerhalb der Vorlagen auf Informationen, Daten und Objekte zugegriffen werden. Sinnvoll ist das beispielsweise bei der Generierung und der Erzeugung einer Vorschau. Solche Informationen können zum Beispiel der Startzeitpunkt der Generierung, die ID des Absatzes oder der Seite oder die Sprache sein, die aktuell generiert wird.

Systemobjekte sind immer kontextabhängig. Einige Systemobjekte sind in allen Kontexten, andere nur in einem bestimmten Kontext verfügbar.

Auf Systemobjekten können Ausdrücke angewendet werden.

Der Rückgabewert eines Systemobjektes ist ein Objekt bzw. Datentyp (vgl. Datentypen).

In der Regel kann auf Systemobjekte nur lesend zugegriffen werden. Es gibt jedoch einige Methoden, die Systemobjekte auch modifizieren oder aber das Systemverhalten beeinflussen können. Hierunter fällt z. B. das Unterdrücken der Erzeugung einer Seite in einer Seitenvorlage (#global.stopGenerate).

Einsatz von Systemobjekten

Die nachfolgende Tabelle gibt einen Überblick, in welchen Kontexten ein bestimmtes Systemobjekt verfügbar ist, und wofür es eingesetzt werden kann:

Systemobjekt

Verfügbarkeit

Einsatzzwecke

#card

Innerhalb von Absatz- und Verweisvorlagen, die von einer FS_CATALOG-Eingabekomponente referenziert werden

- Zugriff auf den Absatz / den Verweis einer FS_CATALOG-Eingabekomponente („Card“)
- Ermittlung der UUID der „Card“

#cell

Innerhalb einer Tabellenzelle:

  • Formatvorlage mit dem Kürzel td
  • CELL-Parameter in der Funktion Table

- Ermittlung der Spaltennummer einer Zelle
- Ermittlung der Zeilennummer einer Zelle
- Ausgabe von Attributwerten einer Spalte
- Ausrichtung des Textes einer Zelle
- Verschmelzung mehrerer Zellen
usw.

#content

Innerhalb von Formatvorlagen

- Ausgabe des Inhalts eines Dom-Editor-Absatzes
- Ausgabe einer Tabellenzelle
- Definition einer Table-Funktion

#cs

Innerhalb von Vorlagen, die in einer Content-Projektion verwendet werden

- Entscheidung, ob der auszugebende Datensatz der erste ist
- Entscheidung, ob der auszugebende Datensatz der letzte ist
- Ermittlung der wievielte Datensatz gerade ausgegeben wird

#docGroup

Innerhalb von Vorlagen, die in einer Dokumentengruppe verwendet werden

- Ermittlung von Kindknoten einer Dokumentengruppe
- Ermittlung der Tiefe eines Knotens innerhalb der Dokumentengruppe
- Ermittlung, ob ein Knoten vom Typ "Menüebene" oder "Seitenreferenz" ist

#docNode

Innerhalb von Vorlagen, die in einer Dokumentengruppe verwendet werden

Ermittlung eines Elements (z.B. einer Seitenreferenz) aus der Dokumentengruppe während der Generierung der Dokumentengruppe

#field

Innerhalb von Parameter-Angaben von FS_BUTTON-Definitionen in Formularen

Ermittlung von Inhalten von und Informationen über FS_BUTTON im Formular und Verarbeitung z. B. in Skripten

#for

Innerhalb einer $CMS_FOR(...)$-Anweisung

- Entscheidung, ob das auszugebende Element das erste ist
- Entscheidung, ob das auszugebende Element das letzte ist
- Ermittlung das wievielte Element gerade ausgegeben wird

#form

Innerhalb von Regeldefinitionen dynamischer Formulare

Beeinflussung der Sichtbarkeit der Gestaltungselemente CMS_GROUP und CMS_LABEL in einem Formular

#fs_catalog

Innerhalb einer Vorlage, die in der Eingabekomponente FS_CATALOG verwendet wird

- Ermittlung, ob das gerenderte Element sich in einer FS_CATALOG-Komponente befindet oder nicht
- Anzahl der in einer FS_CATALOG enthaltenen Elemente / Einträge

#global

In allen Vorlagen

- Ermittlung von vorschaubezogenen, projektbezogenen, seitenbezogenen
Informationen.
- Ermittlung von Metainformationen
- Ermittlung von Informationen zu Mehrfachseiten

#index

Innerhalb einer (Absatz-/Verweis-)Vorlage, die in der Eingabekomponente FS_CATALOG verwendet wird

- Ermittlung, der wievielte Absatz/Verweis gerade ausgegeben wird

#item

Innerhalb von

Zugriff auf Werte von Eingabekomponenten

#list

Innerhalb von Listen:

  • Formatvorlage mit dem Kürzel ul
  • Formatvorlage mit dem Kürzel li

- Ermittlung des ausgewählten Listendarstellungstyps
- Ermittlung der Anzahl der Listenelemente
- Ermittlung des Startpunkts der Liste
- Ermittlung des letzten Listenpunkts

#listitem

Innerhalb eines Listeneintrages:

  • Formatvorlage mit dem Kürzel li

- Ermittlung der Position des aktuellen Listenelements
- Ermittlung der Beschriftung des aktuellen Listenelements

#mathContext

in allen Vorlagen

- Festlegung der Anzahl von Dezimalstellen bei Divisionen
- Festlegung des Rundungsmodus

#meta

innerhalb von Schnipseln

Ausgabe von Inhalt von Metadaten, die direkt auf dem entsprechenden Element definiert wurden

#nav

In den Funktionen:

- Ausgabe des Menünamens
- Ermittlung der URL
- Ausgabe des Kommentarfelds
usw.

#row

Innerhalb von Tabellenvorlagen, die in einer datenquellenbasierten Absatz verwendet werden

- Ermittlung des letzten Bearbeiters
- Ermittlung des Änderungsdatums
- Ausgabe von Attributen (Inhalte von Spalten)

#startdate

In allen Vorlagen

- Ausgabe des Zeitpunkts der letzten Projektänderung zum Generierungszeitpunkt

#style

In den Formatvorlagen für Tabellenzeilen und -zellen (Kürzel "tr" und "td") sowie in Stilvorlagen

- Verwendung von Werten der Stilvorlage von Inline-Tabellen in den Standard-Formatvorlagen für Tabellen

#table

Innerhalb von Tabellen:

  • Formatvorlagen mit den Kürzeln table, tr und td
  • in der Funktion Table

- Ermittlung der Anzahl der Zeilen einer Tabelle
- Ermittlung der Anzahl der Spalten einer Tabelle
- Nummer der letzten Zeile einer Tabelle
- Nummer der letzten Spalte einer Tabelle
- Ermittlung der Tabellenformatvorlage

#this

In allen Vorlagen

- Repräsentiert immer das aktuell in der Vorlage ausgewertete Objekt. Der zurückgegebene Objekttyp kann somit variieren.

#tr

Innerhalb von Tabellen:

  • Formatvorlagen mit dem Kürzel tr
  • in der Funktion Table

- Ermittlung der Nummer einer Zeile
- Ermittlung, ob es sich um die erste Zeile einer Tabelle handelt
- Ermittlung, ob es sich um die letzte Zeile einer Tabelle handelt

   

Aufruf von Systemobjekten

Systemobjekte können überall da aufgerufen werden, wo auch Methoden-Aufrufe genutzt werden können:

Jedes Systemobjekt beginnt mit dem Zeichen # und wird durch den jeweiligen Namen des Systemobjekts erweitert. Abhängig von der Art des Systemobjektes können unterschiedliche Methoden aufgerufen werden.

Syntax:

$CMS_VALUE(#NAME[.METHODE])$

Bsp:

$CMS_IF(#global.preview)$
Vorschau
$CMS_ELSE$
Keine Vorschau
$CMS_END_IF$

Wird für die aktuelle Seite eine Vorschau erzeugt, so wird Vorschau ausgegeben – ansonsten Keine Vorschau.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz