Startseite
Startseite

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 Tabellen 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_CHECKBOX
CMS_INPUT_COMBOBOX
CMS_INPUT_LIST
Methodenname Rückgabetyp Kurzbeschreibung Verfügbar seit
compareTo(Comparable) int
compareTo(Object) int
equals(CharSequence) boolean
equals(Object) boolean
getClass Class Klasse des aufrufenden Objektes
getKey String
getLabel(String) String
getLabel(Language) String
getValue Object Ausgewählte Option
ignore(Language) boolean
isCase(Object) boolean
isNull boolean Prüft, ob ein Ausdruck Null ist
print void
putLabel(String, String) void
putLabel(Language, String) void
set(String, Object) Object
toJson String Convert to JSON string representtion (only handles Maps, Collections, Arrays, Numbers, and Strings) 4.2.14
toString String
type String

compareTo(Comparable)

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

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

Methodenname Rückgabetyp Verfügbar seit
getKey String

getLabel(String)

Methodenname Rückgabetyp Verfügbar seit
getLabel(String) String

getLabel(Language)

Methodenname Rückgabetyp Verfügbar seit
getLabel(Language) String

getValue

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

Methodenname Rückgabetyp Verfügbar seit
getValue Object

ignore(Language)

Methodenname Rückgabetyp Verfügbar seit
ignore(Language) boolean

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)

Methodenname Rückgabetyp Verfügbar seit
putLabel(String, String) void

putLabel(Language, String)

Methodenname Rückgabetyp Verfügbar seit
putLabel(Language, String) void

set(String, Object)

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

toJson

Convert to JSON string representtion (only handles Maps, Collections, Arrays, Numbers, and Strings)
Methodenname Rückgabetyp Verfügbar seit
toJson String 4.2.14

toString

Methodenname Rückgabetyp Verfügbar seit
toString String

type

Methodenname Rückgabetyp Verfügbar seit
type String

© 2005 - 2015 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2014-09-29