vorschaubezogene #global-Aufrufe
Die Vorschau einer Seite soll häufig andere Funktionalitäten besitzen als der veröffentlichte bzw. generierte Stand dieser Seite. Beispielsweise können innerhalb einer Vorschau Statusinformationen oder eine Bearbeitungsfunktionalität für den Redakteur erwünscht sein.
Eine weitere Anforderungen ist die sprachabhängige Vorschauerzeugung. Es ist beispielsweise möglich, dass sich das Layout einer Seite, abhängig von der Sprache unterscheidet oder dass die Sprache die Ausgabeformatierung beeinflusst. Außerdem kann verhindert werden, dass eine spezielle Seite in einem bestimmten Präsentationskanal erzeugt wird.
Um diese und weitere Anforderungen zu erfüllen, bietet das Systemobjekt #global die Möglichkeit, auf Informationen in der Vorschau, Veröffentlichung und Generierung zuzugreifen und auf diese Einfluss zu nehmen.
Die nachfolgende Tabelle zeigt die vorschaubezogenen Operationen:
Aufruf | Bedeutung | Rückgabedatentyp |
---|---|---|
#global.context | Liefert den aktuellen Kontext zurück. | |
#global.context("BEZEICHNER") | Liefert einen bestimmten Kontext zurück. | |
#global.dumpcontext | Ausgabe aller Kontextinformationen zur leichteren Fehlersuche | String |
#global.dumpcontext("TRENNZEICHEN") | Ausgabe aller Kontextinformationen zur leichteren Fehlersuche, jedoch mit Angabe von Trennzeichen für die Ausgabe der einzelnen Zeilen, z. B. <br>. | String |
#global.encoding | Liefert das angegebene HTML-Encoding für die Sprache zurück, die gerade erzeugt wird, z. B. ISO-8859-1, UTF-8. | String |
#global.isRelease | Ermittelt, ob es sich bei der Anzeige des Objekts (z. B. Seite oder Seitenreferenz) um den Freigabestand handelt oder nicht. | Boolean |
#global.language | Liefert die Sprache zurück, die gerade erzeugt wird. | |
#global.language.abbreviation | Liefert das Kürzel der Sprache zurück, die gerade erzeugt wird, z. B. DE, EN usw. | String |
#global.language.name | Liefert den Namen der Sprache zurück, die gerade erzeugt wird, z. B. Deutsch, English usw. | String |
#global.now | Liefert das aktuelle Datum zurück. | |
#global.preview | Ermittelt, ob es sich bei der Anzeige des Objekts (z. B. Seite oder Seitenreferenz), um eine Vorschau handelt oder nicht. | Boolean |
#global.project | Liefert das Projekt zurück. | |
#global.project.id | Liefert die ID des Projekts zurück. | |
#global.scheduleContext | Zugriff auf Informationen von Generierungsaufträgen: | |
#global.startDate | Synonym für #startdate | |
#global.version | Liefert die FirstSpirit-Versionsnummer zurück, z. B. 5.0.14 | String |
Erweiterter Fehler-Protokollierungs-Modus
Der erweiterte Fehler-Protokollierungs-Modus wird mit dem folgenden Ausdruck aktiviert:
$CMS_SET(#global.debugMode, true)$
Abbruch einer Vorschau/Generierung
Es besteht die Möglichkeit, in einer Vorlage die Erzeugung einer Vorschau bzw. einer Generierung zu unterbinden. Dies ist dann sinnvoll, wenn im Präsentationskanal einer Seitenvorlage keine Erzeugung gewünscht wird (z. B. keine PDF-Version eines Dokumentes usw.)
Der Ausdruck, um die Erzeugung zu unterbinden lautet:
$CMS_SET(#global.stopGenerate, true)$
Beispiele
Nachfolgend werden einige Beispiele zur Verwendung der Anweisung innerhalb von Vorlagen gezeigt. Die Beispiele sollen die konkrete Auswirkung der Anweisung verdeutlichen und eine Hilfe für den Vorlagenentwickler bei der Erstellung eigener Vorlagen sein.
Für die Verwendung innerhalb eines Projekts, müssen die hier gezeigten Beispiele angepasst werden! Beispielsweise müssen Variablennamen auf die spezifischen Variablennamen des Projekts geändert werden, in dem die Anweisung verwendet werden soll. |
1. Beispiel: Sprachspezifische Ausgabe des Datums
$CMS_IF(#global.language.abbreviation == "DE")$
$CMS_VALUE(#global.now.format("dd.MM.yyyy"))$
$CMS_ELSE$
$CMS_VALUE(#global.now.format("MM/dd/yyyy"))$
$CMS_END_IF$
Im Beispiel wird in der Sprache mit dem Kürzel DE das aktuelle Datum in der Schreibweise Tag, Monat und Jahr – getrennt durch einen Punkt – dargestellt. Für alle anderen Sprachen wird das aktuelle Datum in der Schreibweise Monat, Tag und Jahr ausgegeben.
Ausgabe für Sprache mit dem Kürzel DE:
22.05.2007
Ausgabe für alle anderen Sprachen
05/22/2007
2. Beispiel: Begrüßung in der Vorschau
$CMS_IF(#global.preview)$
Herzlich Willkommen auf den Seiten unseres Intranets
$CMS_END_IF$
In der Vorschau wird der Satz Herzlich Willkommen auf den Seiten unseres Intranets ausgegeben.
3. Beispiel: Dynamisches HTML-Gerüst
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="$CMS_VALUE(#global.language.abbreviation.toLowerCase)$" lang="$CMS_VALUE(#global.language.abbreviation.toLowerCase)$">
<head>
...
<meta http-equiv="content-type" content="text/html; charset=$CMS_VALUE(#global.encoding)$" />
...
Abhängig von der generierten Sprache wird die Abkürzung der Sprache in Kleinbuchstaben für die XML-Sprachangaben verwendet.
Weiterhin wird das angegebene Encoding der Sprache verwendet.
Ausgabe:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
...
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
...