Startseite / Vorlagenentwicklung / Vorlagensyntax / Datentypen / Option

Datentyp OptionVerfügbar ab FirstSpirit-Version 4.0

Wertebereich des Datentyps Option

In einigen mengenwertigen Eingabekomponenten, wie z. B. CHECKBOX, COMBOBOX, LIST und RADIOBUTTON, können ein oder mehrere Einträge ausgewählt werden.

Ein Eintrag wird in FirstSpirit durch den Datentyp Option repräsentiert.

Kann in der Eingabekomponente nur ein Eintrag (z. B. COMBOBOX) ausgewählt werden, so wird ein Option-Objekt zurückgeliefert.

Bei Eingabekomponenten, in denen mehrere Einträge ausgewählt werden können (z. B. CHECKBOX), wird von der Eingabekomponente eine Liste von Option-Objekten zurückgeliefert. Eine solche Liste kann mithilfe einer $CMS_FOR(...)$-Anweisung ausgegeben werden.

Definition über die Standard-Eingabekomponenten

Im Formularbereich von Vorlagen können unterschiedliche Eingabekomponenten definiert werden. Über diese Formularelemente können dann die eigentlichen redaktionellen Inhalte in die Seite einfügen werden. Die von FirstSpirit unterstützten Standard-Eingabekomponenten liefern unterschiedliche Datentypen zurück.

Die folgenden Standard-Eingabekomponenten liefern ein Objekt vom Datentyp Option zurück:

Auf diesem Objekt lassen sich dann mithilfe einer $CMS_VALUE(...)$-Anweisung Methoden anwenden:

$CMS_VALUE(BEZEICHNER.METHODE)$

Unter BEZEICHNER muss der Parameter resultname, der in der Eingabekomponente definiert wurde, angegeben werden.

Wichtig Wird ein Feld über eine Beziehungskante (z. B. N:M) erworben, so fehlen die Informationen zur Oberfläche (GUI), beispielsweise die sprachabhängige Beschriftung (Label) der Eingabekomponente. Diese Problematik muss in der Vorlagenentwicklung berücksichtigt werden:

Ausgabe über die Eingabekomponente:
Informationen zur Eingabekomponente können über $CMS_VALUE(cs_componentName...)$ ausgegeben werden. Der Ausdruck $CMS_VALUE(cs_componentName.class)$ liefert daher die Klasse ContentOption zurück, die die Eigenschaften der Klasse Option erbt. Dabei handelt es sich um eine Menge von sprachabhängigen Optionen der Eingabekomponente. Über den Ausdruck können Informationen zur definierten Oberflächenbeschriftung der Eingabekomponente angefordert werden. Diese Informationen werden innerhalb der LANGINFO-Tags im Formularbereich definiert.

    <LANGINFOS>
<LANGINFO label="Produktauswahl:" lang="*"/>
<LANGINFO label="Bitte wählen sie ein Produkt aus:" lang="DE"/>
<LANGINFO label="Please select a product:" lang="EN"/>
</LANGINFOS>

Die Ausgabe ist abhängig von der übergebenen Sprache. Ist diese Sprache in den LANGINFO-Tags nicht vorhanden, wird auf den Standardwert lang="*" zurückgegriffen:

 $CMS_VALUE(cs_componentName.label(#global.language))$

Diese Ausgabe ist über das Systemobjekt #row nicht möglich.

Ausgabe über das Systemobjekt #row:
Über das Systemobjekt #row kann auf die sprachabhängigen LANGINFO-Definitionen der Eingabekomponente nicht zugegriffen werden. Die Ursache hierfür ist, dass das Systemobjekt #row keinen Zusammenhang zu einer Vorlage herstellen kann. Folglich kann nur auf den gespeicherten Wert zurückgegriffen werden. Die Ausgabe

$CMS_VALUE(#row.product_category.category_name)$ 

liefert also den gespeicherten Attributwert des ausgewählten Datensatzes (aus der Eingabekomponente) zurück, z. B. für eine Produktkategorie im Demoprojekt FIRSTools den Wert "Nägel". Die Information wird sprachabhängig zurückgeliefert, indem abhängig von Sprache, die für eine Vorschau ausgewählt wurde, automatisch nach der sprachabhängigen Erweiterung, z. B. category_name_EN gesucht wird. (Bei der Generierung werden die sprachabhängige Erweiterung für die Sprache vorgenommen, die aktuell generiert wird.) Ist die Spracherweiterung nicht vorhanden, wird automatisch der Standardwert category_name verwendet. Informationen zur Oberflächenbeschriftung der Eingabekomponente, beispielsweise das sprachabhängige Label, können über #row nicht ausgegeben werden.

Methoden auf Option-Objekten

In der unten angegebenen Tabelle werden alle Methoden aufgelistet, die auf Objekten von Datentyp Option aufgerufen werden können:

Objekt wird von folgenden Formular-Objekten erzeugt:
CMS_INPUT_RADIOBUTTON
CMS_INPUT_COMBOBOX
CMS_INPUT_LIST
CMS_INPUT_CHECKBOX
Methodenname Rückgabetyp Kurzbeschreibung Verfügbar seit
compareTo(Object) int
equals(CharSequence) boolean
equals(Object) boolean
getClass Class Klasse des aufrufenden Objektes
getKey String Get a textual key of this option. 4.0.17
getLabel(String) String Convenience method to get a label based on a language abbreviation. 4.0.30
getLabel(Language) String Try getting a label. 4.0.30
getValue Object Ausgewählte Option 4.0.17
ignore(Language) boolean Indicates whether this Option should be ignored and therefore hidden in the gui for the provided language. 4.2.34
isCase(Object) boolean
isNull boolean Prüft, ob ein Ausdruck Null ist
print void
putLabel(String, String) void Convenience method to put a label based on a language abbreviation. 4.0.30
putLabel(Language, String) void Set the label for the specified language. 4.0.30
set(String, Object) Object
toJSON String Convert to a JSON-compatible string representation including necessary quotes and escaping for immediate use. Handles Maps, Collections, Arrays, Numbers, Strings, Boolean, Date, and JsonElement. A date instance will be converted to an ISO-8601 formatted date string. Any object other than above will be converted using its 'toString()' value. 5.2.11
toString String
type String

compareTo(Object)

Methodenname Rückgabetyp Verfügbar seit
compareTo(Object) int

equals(CharSequence)

Methodenname Rückgabetyp Verfügbar seit
equals(CharSequence) boolean

equals(Object)

Methodenname Rückgabetyp Verfügbar seit
equals(Object) boolean

getClass

Die Methode .getClass() (in Bean-Syntax: .class) liefert die Klasse des aufrufendes Objektes zurück (vgl. java.lang.Class).

Aufruf:

$CMS_VALUE(myString.class)$
$CMS_VALUE(myString.getClass())$

Ausgabe:

java.lang.String
Methodenname Rückgabetyp Verfügbar seit
getClass Class

getKey

Get a textual key of this option.
Methodenname Rückgabetyp Verfügbar seit
getKey String 4.0.17

getLabel(String)

Convenience method to get a label based on a language abbreviation.
Methodenname Rückgabetyp Verfügbar seit
getLabel(String) String 4.0.30

getLabel(Language)

Try getting a label.
Methodenname Rückgabetyp Verfügbar seit
getLabel(Language) String 4.0.30

getValue

Die Methode getValue liefert die ausgewählte Option zurück.

Methodenname Rückgabetyp Verfügbar seit
getValue Object 4.0.17

ignore(Language)

Indicates whether this Option should be ignored and therefore hidden in the gui for the provided language.
Methodenname Rückgabetyp Verfügbar seit
ignore(Language) boolean 4.2.34

isCase(Object)

Methodenname Rückgabetyp Verfügbar seit
isCase(Object) boolean

isNull

Die Methode .isNull() (in Bean-Syntax: .isNull) prüft, ob ein Ausdruck bzw. Objekt Null ist, z. B. storeElement.isNull(). Bei Objekten mit komplexen Werten oder Objekten entscheidet das Objekt, wann es null ist. Der Datentyp DomElement enthält beispielsweise immer ein leeres Dokument, ist also nie null. Die Prüfung einer leeren DOM-Editor-Eingabekomponente mit der Methode .isNull() liefert daher den Wert false, während die Prüfung der Komponente auf .isEmpty() den Wert true liefern würde.

Die Methode .isNull() gibt einen booleschen Wert als Ergebnis der Prüfung zurück. true (=wahr) ist die Prüfung, wenn der Ausdruck bzw. das Objekt Null ist und false (=unwahr) wenn nicht.

Methodenname Rückgabetyp Verfügbar seit
isNull boolean

print

Methodenname Rückgabetyp Verfügbar seit
print void

putLabel(String, String)

Convenience method to put a label based on a language abbreviation.
Methodenname Rückgabetyp Verfügbar seit
putLabel(String, String) void 4.0.30

putLabel(Language, String)

Set the label for the specified language.
Methodenname Rückgabetyp Verfügbar seit
putLabel(Language, String) void 4.0.30

set(String, Object)

Methodenname Rückgabetyp Verfügbar seit
set(String, Object) Object

toJSON

Convert to a JSON-compatible string representation including necessary quotes and escaping for immediate use. Handles Maps, Collections, Arrays, Numbers, Strings, Boolean, Date, and JsonElement. A date instance will be converted to an ISO-8601 formatted date string. Any object other than above will be converted using its 'toString()' value.
Methodenname Rückgabetyp Verfügbar seit
toJSON String 5.2.11

toString

Methodenname Rückgabetyp Verfügbar seit
toString String

type

Methodenname Rückgabetyp Verfügbar seit
type String

© 2005 - 2021 e-Spirit AG | Alle Rechte vorbehalten. | FirstSpirit 2021-02 | Datenschutz | Impressum | Kontakt