FS_BUTTON
Inhaltsverzeichnis |
zum Beispiel |
zu den Methoden: Map |
Die Eingabekomponente FS_BUTTON stellt dem Redakteur ein Icon, eine Schaltfläche oder einen Verweis zur Verfügung, der an ein FirstSpirit-Skript oder an eine Klasse gebunden ist, die z. B. von einem FirstSpirit-Modul auf dem Server zur Verfügung gestellt wird. Klickt der Redakteur dieses Bedienelement an oder zieht er Objekte mit dem Mauszeiger darauf ("Drop"), wird das referenzierte Skript bzw. die Klasse ausgeführt. Auf diese Weise kann mit FS_BUTTON ein Icon oder eine Schaltfläche erstellt werden, die eine individuell implementierbare Funktion ausführt.
Die Eingabekomponente kann mit anderen Eingabekomponenten zusammenarbeiten. Auf diese Weise können z. B. Eingaben des Redakteurs innerhalb des Skripts verwendet werden.
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Pflichtparameter
Pflichtparameter
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Parameter
Der nachfolgenden Tabelle können die Parameter der Eingabekomponente FS_BUTTON entnommen werden.
name
Das Attribut "name" ist der Variablenname einer Eingabekomponente, mit dem in den Vorlagen - mit Hilfe von $CMS_VALUE()$ - das Ergebnisobjekt der Eingabekomponente verwendet oder der Inhalt ausgegeben werden kann.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 3.1 | Designator | Keiner |
alwaysEnabled
Standardmäßig können Eingabekomponenten in FirstSpirit nur verwendet werden, wenn sich der Absatz, die Seite oder der Datensatz, der die Eingabekomponente enthält, im Bearbeitungs-Modus befindet.
FS_BUTTON kann hingegen so konfiguriert werden, dass das Bedienelement (siehe auch Parameter icon und style) auch dann aktiv ist, wenn sich der betreffende Absatz, die betreffende Seite bzw. der betreffende Datensatz im Ansichts-Modus befindet. D.h., das referenzierte Skript oder Modul kann unabhängig davon ausgeführt werden, ob sich die Eingabekomponente im Bearbeitungs- oder Ansichts-Modus befindet.
Dies gilt allerdings nur für den "onClick"-Modus, d.h. wenn das Bedienelement angeklickt wird. Wird ein Objekt auf das Bedienelement gezogen ("onDrop"), muss die Eingabekomponente in den Bearbeitungs-Modus gesetzt werden.
Dazu wird der Parameter alwaysEnabled verwendet: Bei alwaysEnabled="YES" ist die Eingabekomponente auch im Ansichts-Modus aktiv. Bei alwaysEnabled="NO" wird sie erst dann aktiv, wenn sie in den Bearbeitungs-Modus gesetzt wird. Wird der Parameter nicht angegeben, wird die Eingabekomponente erst beim Setzen in den Bearbeitungs-Modus aktiv (alwaysEnabled="NO").
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
alwaysEnabled | Nein | 4.2.426 | YesNo | NO |
convertEntities
Mit dem Attribut "convertEntities" werden Sonderzeichen, die in die Eingabekomponenten eingeben wurden, bei der Ausgabe in HTML-Zeichen umgewandelt.
Es gibt hier drei Ausprägungen:
- convertEntities="NONE" (Standard)
- convertEntities="STANDARD"
- convertEntities="QUOTE"
Bei NONE werden keinerlei Konvertierungsregeln angewendet.
Wird STANDARD angegeben, so werden die Konvertierungsregeln angewendet, die im Bereich "convert" der ausgewählten Konvertierungsregel des Präsentationskanales stehen.
Die Angabe QUOTE schließt STANDARD explizit mit ein. Es wird jedoch zusätzlich der Bereich "quote" der Konvertierungsregel angewendet.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
convertEntities | Nein | 2.0 | ConvertEntity | NONE |
hFill
Die Anzeige einer Eingabekomponente erfolgt immer mit einer vordefinierten Breite.
Ist es aber gewünscht, dass die Eingabekomponente die volle zur Verfügung stehende Anzeigebreite nutzt, ist der Parameter hFill mit dem Wert YES anzugeben.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
hFill | Nein | 2.0 | YesNo | NO |
hidden
Mit dem Parameter "hidden" kann eine Eingabekomponente für den Redakteur ausgeblendet werden.
Bei der Angabe von hidden="YES" wird die Eingabekomponente ausgeblendet, bei hidden="NO" nicht.
Der Standardwert für hidden ist NO, so dass Eingabekomponenten standardmäßig für den Redakteur sichtbar sind.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
hidden | Nein | 4.0.44 | YesNo | NO |
icon
Mithilfe dieses Parameters kann der Eingabekomponente ein Icon zugewiesen werden. Wird es vom Redakteur angeklickt oder zieht er ein Objekt mit dem Mauszeiger darauf, wird das referenzierte Skript oder die referenzierte Klasse ausgeführt.
Als Wert ist entweder question oder info zur Darstellung vorgegebener Symbole anzugeben. Mit
icon="question"
wird das Symbol verwendet,
mit
icon="info"
das Symbol .
Die Klasse FsResource.FsIcon des Pakets de.espirit.firstspirit.common der FirstSpirit Developer-API stellt weitere Standard-Icons zur Verfügung, z. B. mit
icon="fs:new"
wird das Symbol verwendet, mit
icon="fs:edit"
das Symbol .
Darüber hinaus können auch Bilder aus der Medien-Verwaltung verwendet werden. In diesem Fall ist als Wert media:, gefolgt vom eindeutigen Bezeichner des gewünschten Bildes anzugeben. Dabei wird die Originalauflösung des Bildes verwendet.
Zur Verwendung von Bildern aus der Medien-Verwaltung wird folgende Syntax verwendet:
icon="media:icon_startSearch"
Bei Verwendung im ContentCreator wird die URL zum Medium (aus der Medien-Verwaltung) nicht über die Preview-URL gebildet, sondern über den optionalen Parameter URL aus der fs-server.conf. Hier muss die URL zur Startseite des FirstSpirit-Servers hinterlegt werden.
Wird der Parameter icon nicht angegeben, wird je nach Definition des Parameters style ein Verweis (style="LINK"), eine Schaltfläche (style="BUTTON") oder ein FirstSpirit-Icon (nur Hintergrund, style="FIRSTSPIRIT") angezeigt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
icon | Nein | 4.2.426 | String | Keiner |
noBreak
Mit dem Parameter noBreak kann der automatische Zeilenumbruch nach einer Eingabekomponente unterdrückt werden.
Um den automatischen Zeilenumbruch zu unterdrücken, ist der Parameter noBreak mit dem Wert "YES" anzugeben (noBreak="YES").
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
noBreak | Nein | 2.0 | YesNo | NO |
onClick
Über diesen Parameter wird ein Skript aus der Vorlagen-Verwaltung oder eine Klasse referenziert, das / die ausgeführt werden soll, wenn das Bedienelement angeklickt wird (siehe dazu auch Parameter icon und style).
Wird eine Klasse referenziert, muss diese das Interface de.espirit.firstspirit.access.script.Executable implementieren! |
Beim Überfahren des Bedienelementes mit dem Mauszeiger ändert sich je nach gewähltem Wert für style der Mauszeiger und beim Anklicken wird ein Eindrücken des Bedienelementes visualisiert.
Als Wert erwartet der Parameter im Falle
- eines Skriptes den Schlüsselbegriff script:, gefolgt vom eindeutigen Referenznamen des gewünschten Skripts aus der Vorlagen-Verwaltung, z. B.
onClick="script:do_search" - einer Klasse den Schlüsselbegriff class:, gefolgt vom voll qualifizierten Klassennamen, inklusive Paketnamen, z. B.
onClick="class:..."
Für Anwendungen des FS_BUTTON in der ContentCreator-Vorschau (d.h., Einbindung des Buttons per Funktion fsbutton(...) in einem HTML-Ausgabekanal) bietet FirstSpirit mehrere Klassen an, mit denen aus der Vorschau heraus ContentCreator-spezifische Funktionen, wie z.B. das Anlegen eines Absatzes oder die Bearbeitung der Menüstruktur des Projekts, ausgelöst werden können. Diese Klassen werden auf der Seite ContentCreator 5.0 Funktionsumfang beschrieben.
Wird dieser Parameter nicht gesetzt, muss der Parameter onDrop gesetzt sein. |
Im Skript-Kontext können folgende Variablennamen verwendet werden, mit denen auf Daten von FS_BUTTON zugegriffen werden kann:
- context:
Zugriff auf den Skript-Kontext. Auf den zurückgelieferten Wert können Methoden des Interface de.espirit.firstspirit.access.BaseContext (Developer-API) ausgeführt werden. - properties:
Zugriff auf über ein Skript oder Executable gesetzte Werte (Map).
Die Werte werden zwischen verschiedenen Aufrufen eines FS_BUTTON aus demselben Formular heraus beibehalten, sodass eine Datenpersistenz zwischen mehreren Aktionen auf dieselbe Buttoninstanz umgesetzt werden kann. Die Variable properties ist nur in Formularen verfügbar; in Vorschauansichten wird die Persistierung von Daten nicht unterstützt. Die Persistenz wird verworfen, wenn das Formular aktualisiert oder der SiteArchitect neu gestartet wird.
Zum Zugriff auf in properties gespeicherte Daten können die Methoden des Interface java.util.Map<String, String> ausgeführt werden. - language:
Zugriff auf die Projektsprache (Sprach-Register), in der die Eingabekomponente angeklickt wurde. Auf den zurückgelieferten Wert können Methoden des Interface de.espirit.firstspirit.access.Language ausgeführt werden. - element:
Zugriff auf Informationen des Baum-Knotens, in dem sich die Eingabekomponente befindet, z. B. Absatz, Seite oder Datensatz. Mithilfe des Systemobjekts #field kann hier auf die Informationen einzelner Eingabekomponenten zugegriffen werden (siehe dazu auch Tags PARAMS / PARAM).
Die Variable element ist nicht verfügbar, wenn das Formular, in dem der FS_BUTTON eingebunden wurde, über ein Skript innerhalb eines Arbeitsablaufs geöffnet wurde.
Auf die zurückgelieferten Werte können Methoden des Interface de.espirit.firstspirit.access.store.IDProvider ausgeführt werden, befindet sich die Eingabekomponente in einer Tabellenvorlage, speziell die Methoden des Interface de.espirit.firstspirit.access.store.contentstore.Dataset. - drop:
Zur Prüfung, ob das Skript beim Ziehen von Objekten mit dem Mauszeiger auf die Eingabekomponente (true) oder beim Anklicken der Eingabekomponente (false) aufgerufen wurde.
Wird für eine FS_BUTTON-Aktion eine Java-Klasse verwendet, so kann innerhalb der execute()-Methoden über das Map<String, Object>-Objekt context auf diese Variablen zugegriffen werden; die genannten Variablennamen werden dann als Schlüssel der Methode context.get() übergeben.
Wird die Klick-Aktion eines FS_BUTTON innerhalb einer Vorschauansicht ausgelöst, so sind die Variablen language und element nur verfügbar, wenn im Ausgabekanal neben der Funktion fsbutton() auch die Funktion editorId() auf das HTML-Tag verwendet wird. Nähere Informationen finden Sie in der Beschreibung der Funktion fsbutton(...). |
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
onClick | Nein | 4.2.426 | String | Keiner |
onDrop
Über diesen Parameter wird ein Skript aus der Vorlagen-Verwaltung oder eine Klasse referenziert, das / die ausgeführt werden soll, wenn ein Objekt mit dem Mauszeiger auf das Bedienelement gezogen wird ("Drop"; siehe dazu auch Parameter icon und style).
Wird eine Klasse referenziert, muss diese das Interface de.espirit.firstspirit.access.script.Executable implementieren! |
Als Wert erwartet der Parameter im Falle
- eines Skriptes den Schlüsselbegriff script:, gefolgt vom eindeutigen Referenznamen des gewünschten Skripts aus der Vorlagen-Verwaltung, z. B.
onDrop="script:do_search" - einer Klasse den Schlüsselbegriff class:, gefolgt vom voll qualifizierten Klassennamen, inklusive Paketnamen, z. B.
onDrop="class:..."
Wird dieser Parameter nicht gesetzt, muss der Parameter onClick gesetzt sein. |
Im Skript-Kontext können folgende Variablennamen verwendet werden, mit denen auf Daten von FS_BUTTON zugegriffen werden kann:
- context:
Zugriff auf den Skript-Kontext. Auf den zurückgelieferten Wert können Methoden des Interface de.espirit.firstspirit.access.BaseContext (Developer-API) ausgeführt werden. - properties:
Zugriff auf über ein Skript oder Executable gesetzte Werte (Map).
Die Werte werden zwischen verschiedenen Aufrufen eines FS_BUTTON aus demselben Formular heraus beibehalten, sodass eine Datenpersistenz zwischen mehreren Aktionen auf dieselbe Buttoninstanz umgesetzt werden kann. Die Variable properties ist nur in Formularen verfügbar; in Vorschauansichten wird die Persistierung von Daten nicht unterstützt. Die Persistenz wird verworfen, wenn das Formular aktualisiert oder der SiteArchitect neu gestartet wird.
Zum Zugriff auf in properties gespeicherte Daten können die Methoden des Interface java.util.Map<String, String> ausgeführt werden. - language:
Zugriff auf die Projektsprache (Sprach-Register), in der Objekte per Mauszeiger auf die Eingabekomponente gezogen wurden ("Drop"). Auf den zurückgelieferten Wert können Methoden des Interface de.espirit.firstspirit.access.Language ausgeführt werden. - element:
Zugriff auf Informationen des Baum-Knotens, in dem sich die Eingabekomponente befindet, z. B. Absatz, Seite oder Datensatz. Mithilfe des Systemobjekts #field kann hier auf die Informationen einzelner Eingabekomponenten zugegriffen werden (siehe dazu auch Tags PARAMS / PARAM).
Die Variable element ist nicht verfügbar, wenn das Formular, in dem der FS_BUTTON eingebunden wurde, über ein Skript innerhalb eines Arbeitsablaufs geöffnet wurde.
Auf die zurückgelieferten Werte können Methoden des Interface de.espirit.firstspirit.access.store.IDProvider ausgeführt werden, befindet sich die Eingabekomponente in einer Tabellenvorlage, speziell die Methoden des Interface de.espirit.firstspirit.access.store.contentstore.Dataset. - drop:
Zur Prüfung, ob das Skript beim Ziehen von Objekten mit dem Mauszeiger auf die Eingabekomponente (true) oder beim Anklicken der Eingabekomponente (false) aufgerufen wurde. - dropdata:
Zugriff auf die Daten, die mit dem Mauszeiger auf die Eingabekomponente gezogen wurden ("Drop"). Auf den zurückgelieferten Wert können Methoden des Interface de.espirit.firstspirit.ui.gadgets.aspects.transfer.CommodityContainer (Developer-API) angewendet werden.
Wird für eine FS_BUTTON-Aktion eine Java-Klasse verwendet, so kann innerhalb der execute()-Methoden über das Map<String, Object>-Objekt context auf diese Variablen zugegriffen werden; die genannten Variablennamen werden dann als Schlüssel der Methode context.get() übergeben.
Wird die Klick-Aktion eines FS_BUTTON innerhalb einer Vorschauansicht ausgelöst, so sind die Variablen language und element nur verfügbar, wenn im Ausgabekanal neben der Funktion fsbutton(...) auch die Funktion editorId(...) auf das HTML-Tag verwendet wird. Nähere Informationen finden Sie in der Beschreibung der Funktion fsbutton(...). |
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
onDrop | Nein | 4.2.426 | String | Keiner |
preset
Mit dem Attribut preset kann festgelegt werden, wie Vorgabewerte in einer Eingabekomponente behandelt werden (vgl. dazu auch Kapitel Vorgabewerte). Wird preset="default" gesetzt, wird der im Formular definierte Rückgriffwert verwendet. Nachträgliche Änderungen im Formular an diesem Wert wirken sich auf alle Verwendungen in den vom Redakteur gepflegten Eingabekomponenten aus, solange bis ein manueller Wert in die Eingabekomponente gesetzt wird. Dies ist die Standardeinstellung. Wird preset="copy" gesetzt, wird der durch den Redakteur gewählte Wert "hart" in der Eingabekomponente gespeichert. Nachträgliche Änderungen am Vorgabewert im Formular wirken sich nicht aus.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
preset | Nein | 4.0 | Preset | DEFAULT |
style
FS_BUTTON kann in verschiedenen Varianten dargestellt werden. Diese werden über den Parameter style gesteuert:
- Schaltfläche
Mit style="BUTTON" wird die Eingabekomponente als Schaltfläche dargestellt. Auf der Schaltfläche wird der über LANGINFOS definierte Text angezeigt, z. B. - Verweis
Mit style="LINK" wird die Eingabekomponente als Verweis dargestellt. Dazu wird der Text, der über LANGINFOS definiert ist, verwendet, z. B.
Wird der Mauszeiger über diesen Link gehalten (Mouse-Over), färben sich Text und Unterstreichung heller. - FirstSpirit
Mit style="FIRSTSPIRIT" ist es möglich, die Eingabekomponente mit einem Icon auszustatten, dessen Design sich am Stil der üblichen FirstSpirit-Icons orientiert. Mit dem Wert "FIRSTSPIRIT" erhält die Eingabekomponente ein Icon mit der für den SiteArchitect üblichen Größe und Hintergrundfarbe sowie mit dem typischen Schatten. Es kann nach eigenen Anforderungen mit einem Symbol versehen werden, das über den Parameter icon referenziert werden muss. Das für das Icon verwendete, individuelle Symbol sollte idealerweise eine Bilddatei in heller Farbe, im Format PNG oder GIF mit transparentem Hintergrund sein und eine Abmessung von 19px x 18px haben. Der über LANGINFOS definierte Text wird rechts vom Icon dargestellt, z. B.
Wird der Mauszeiger über das Icon und / oder den Text gehalten (Mouse-Over), wird ein Rahmen um diese Elemente dargestellt.
Wird der Parameter nicht angegeben, wird die Eingabekomponente standardmäßig in der Variante "Schaltfläche" dargestellt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
style | Nein | 4.2.426 | ButtonStyle | button |
useLanguages
Mit dem Parameter useLanguages kann festgelegt werden, ob eine Eingabekomponente für verschiedene Sprachen unterschiedliche bzw. abweichende Werte speichern soll oder nicht (mehrsprachige Pflege).
Wird der Parameter nicht angegeben so werden standardmäßig abweichende Werte für die verschiedenen Sprachen gespeichert.
Bei der Angabe von NO (...useLanguages="NO") wird ein Wert für alle Sprachen gespeichert.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
useLanguages | Nein | 2.0 | YesNo | YES |
DROPTYPES
Wird die Eingabekomponente in der Variante "onDrop" (siehe Parameter onDrop) verwendet, müssen über das Tag DROPTYPES die Objekt-Typen definiert werden, die mit dem Mauszeiger auf die Eingabekomponente gezogen ("Drop") werden dürfen. Für jeden erlaubten Typ muss ein TYPE- bzw. MIME-Tag angegeben werden.
MIME
Über das Tag MIME können eigene MIME-Typen definiert werden, die mit dem Mauszeiger auf die Eingabekomponente gezogen werden dürfen. Für jeden Typ muss ein Tag angegeben werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
classname* | Ja | 4.2.426 | String | Keiner |
type* | Ja | 4.2.426 | String | Keiner |
classname
Über diesen Parameter muss eine Klasse angegeben werden, über die der MIME-Type übertragen werden kann, z. B.
classname="java.io.InputStream"
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
classname* | Ja | 4.2.426 | String | Keiner |
type
Über diesen Parameter muss ein MIME-Typ definiert werden, der übertragen werden können soll, z. B.
type="application/video"
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
type* | Ja | 4.2.426 | String | Keiner |
TYPE
Über das Tag TYPE können vorgegebene Objekt-Typen definiert werden, die mit dem Mauszeiger auf die Eingabekomponente gezogen werden dürfen. Für jeden Typ muss ein Tag angegeben werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
value* | Ja | 4.2.426 | DropType | Keiner |
value
Über diesen Parameter können vordefinierte Objekt-Typen angegeben werden, die mit dem Mauszeiger auf die Eingabekomponente gezogen werden dürfen.
Folgende Werte bzw. Typen können dazu verwendet werden:
- TEXT_HTML (HTML-Text)
- TEXT_PLAIN (Plain-Text)
- EXTERNAL (externe Dateien)
FirstSpirit-Objekte
- NODE (FirstSpirit-Knoten)
- PAGEFOLDER (Inhalte-Verwaltung: Ordner)
- PAGE (Inhalte-Verwaltung: Seiten)
- BODY (Inhalte-Verwaltung: Inhaltsbereiche)
- SECTION (Inhalte-Verwaltung: Absätze)
- SITESTOREFOLDER (Struktur-Verwaltung: Menüebenen)
- PAGEREF (Struktur-Verwaltung: Seitenreferenzen)
- DOCGROUP (Struktur-Verwaltung: Dokumentengruppen)
- MEDIAFOLDER (Medien-Verwaltung: Ordner)
- PICTURE (Medien-Verwaltung: Bilder)
- FILE (Medien-Verwaltung: Dateien)
- DATASET (Datenquellen-Verwaltung: Datensätze)
- MEDIA (Medien-Verwaltung: Medien;
wird beim Speichern der Vorlage ersetzt durch <TYPE value="picture"/> und <TYPE value="file"/>)
Beispiel:
<DROPTYPES>
<MIME type="application/video" classname="java.io.InputStream"/>
<TYPE value="text_html"/>
<TYPE value="text_plain"/>
<TYPE value="external"/>
<TYPE value="picture"/>
<TYPE value="file"/>
</DROPTYPES>
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
value* | Ja | 4.2.426 | DropType | Keiner |
LANGINFOS
Über das Tag LANGINFOS können für jede Eingabekomponente sprachabhängige Angaben definiert werden, z. B. wie die Eingabekomponente in den unterschiedlichen Projektsprachen betitelt sein soll (Parameter label), welcher Tooltip angezeigt werden soll (Parameter description) usw. Aus Gründen der Übersichtlichkeit werden dabei Definitionen, die in mehreren Sprachen identisch sind, zusammengefasst. So wird z. B. aus
<LANGINFOS>
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="DE" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>
beim Speichern
<LANGINFOS>
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>
Die Definition für den Rückfallwert (*) bleibt dabei immer erhalten, von Definitionen für Sprachen mit gleichen Werten bleibt immer die oberste erhalten.
Ab FirstSpirit-Version 4.2R4 kann der Rückfallwert weggelassen werden. Dann wird beim Speichern automatisch die zuerst definierte Sprache als Rückfallwert verwendet, z. B. wird aus
<LANGINFOS>
<LANGINFO lang="EN" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>
beim Speichern
<LANGINFOS>
<LANGINFO lang="*" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>
LANGINFO
Mit dem Tag LANGINFO werden Werte oder Attribute für eine Sprache oder aber für die Verwendung als Rückfallwerte angegeben.
Um Werte bzw. Attribute für eine Sprache anzugeben ist im Parameter lang die Abkürzung der Projektsprache anzugeben:
...
<LANGINFO lang="DE".../>
...
Rückfallwerte werden mit dem speziellen Sprachkürzel * ("für alle Sprachen") angegeben:
...
<LANGINFO lang="*".../>
...
Bei dem Parameter lang handelt es sich um einen Pflichtparameter.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 3.1 | LanguageAbbreviation | Keiner |
description | Nein | 3.1 | String | Keiner |
label | Nein | 3.1 | String | Keiner |
lang
Mit dem Parameter lang wird das Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist (siehe , Kapitel "Sprach-Vorlagen"), angegeben, um festzulegen für welche Projektsprachen die Definitionen gelten sollen, z. B. DE für Deutsch, EN für Englisch, FR für Französisch usw. Folgende Zeichen können dabei beliebig oft angegeben werden: -, _, 0-9 und A-Z. Kleinbuchstaben werden nach dem Speichern der Vorlage automatisch in Großbuchstaben umgewandelt. Alternativ kann * für Rückfallwerte verwendet werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 3.1 | LanguageAbbreviation | Keiner |
description
Mit dem Parameter description kann eine Beschreibung angegeben werden, die zur Anzeige eines Tooltipps (Mouse-Over) genutzt wird.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
description | Nein | 3.1 | String | Keiner |
label
Mit dem Parameter label wird die Oberflächenbeschriftung für Eingabe- und Visualisierungkomponenten angegeben.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
label | Nein | 3.1 | String | Keiner |
PARAMS
Über die Tags PARAMS / PARAM können dem über onClick und / oder onDrop referenzierten Skript / Modul Werte übergeben werden.
Über das Systemobjekt #field kann dabei auf Werte in anderen Eingabekomponenten des aktuellen Formulars zugegriffen werden. In diesem Kontext steht die Instanz de.espirit.firstspirit.forms.FormField zur Verfügung.
Beanshell-Skripte sowie Java-Klassen, die über die Attribute onClick und onDrop des FS_BUTTON-Tags als Button-Aktionen verwendet werden, können auf die in diesem Block spezifizierten Parameter wie folgt zugreifen:
- Beanshell-Skripte
Jeder Parameter wird als Variable verfügbar gemacht. Der im name-Attribut des PARAM-Tags angegebene Name eines Parameters wird hierbei als Variablenname verwendet. - Java-Klassen
Jeder Parameter wird in dem Map<String, Object>-Objekt gespeichert, das als Parameter der execute()-Methoden des Interface Executable verfügbar gemacht wird. Der im name-Attribut des PARAM-Tags angegebene Name eines Parameters wird hierbei als Schlüssel verwendet.
Bei Verwendungen von FS_BUTTON in Vorschauansichten (Aufruf der Funktion fsbutton() in einem Ausgabekanal) erhalten Parameterangaben der Formulardefinition höhere Priorität. Wird für eine FS_BUTTON-Instanz sowohl in der Formulardefinition (mittels PARAM-Tag) als auch in einem Ausgabekanal (mittels der Funktion fsbutton()) ein Parameter gleichen Namens angegeben, so wird in Skripten und Executables immer der Parameterwert aus der Formulardefinition verfügbar gemacht. |
PARAM
Für jeden Wert, der dem referenzierten Skript / Modul übergeben werden soll, wird innerhalb von PARAMS ein PARAM-Tag mit einem name-Parameter benötigt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2.404 | String | Keiner |
name
Mithilfe des Parameters name wird der Name des an das referenzierte Skript / Modul zu übergebenden Parameters definiert.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2.404 | String | Keiner |
TEXT
An dieser Stelle wird der Wert, der an das referenzierte Skript / Modul übergeben werden soll, definiert.
Mithilfe des Systemobjekts #field kann dabei auf Eingabekomponenten desselben Formulars zugegriffen werden. Dazu wird der Variablenname der betreffenden Eingabekomponente durch einen Punkt getrennt angehängt, z. B.
<PARAM name="targeturl">#field.st_text</PARAM>
wobei targeturl der Parametername ist, der im Skript / Modul verwendet werden kann, und st_text der Variablenname der Eingabekomponente ist, deren Wert verwendet werden soll.
Beispiel:
<PARAMS>
<PARAM name="targeturl">#field.st_url</PARAM>
<PARAM name="wikisearch">#field.st_wikisearch</PARAM>
</PARAMS>
Beispiel
Ein Beispiel für die Eingabekomponente "FS_BUTTON":
<FS_BUTTON
name="BEZEICHNER"
icon="media:BEZEICHNER"
style="FIRSTSPIRIT"
onClick="script:BEZEICHNER"
onDrop="script:BEZEICHNER"
noBreak="NO"
useLanguages="NO"
hFill="YES">
<LANGINFOS>
<LANGINFO lang="*" label="TEXT" description="TEXT"/>
<LANGINFO lang="DE" label="TEXT" description="TEXT"/>
<LANGINFO lang="EN" label="TEXT" description="TEXT"/>
</LANGINFOS>
<DROPTYPES>
<MIME classname="java.io.InputStream" type="application/video">
<TYPE value="TEXT_PLAIN"/>
<TYPE value="FILE"/>
</DROPTYPES>
<PARAMS>
<PARAM name="BEZEICHNER">#field.BEZEICHNER</PARAM>
</PARAMS>
</FS_BUTTON>
In diesem Beispiel wird ein FS_BUTTON definiert, der mit dem FirstSpirit-Button-Stil ausgezeichnet ist und bei Klick- und Drop-Aktionen das in onClick bzw. onDrop angegebene Skript aufrufen.
Die Angaben im <DROPTYPES/>-Block beziehen sich auf Drag & Drop-Aktionen, in denen Inhalte auf den Button fallengelassen werden. Hier werden sowohl die vordefinierten Typen "TEXT_PLAIN" (Text ohne Formatierung) und "FILE" (Dateielemente aus dem Media Store) als auch der MIME-Typ "application/video" akzeptiert. Für den MIME-Typ "application/video" wird außerdem explizit angegeben, dass zur Bereitstellung der Binärdaten im onDrop-Skript ein Objekt vom Typ java.io.InputStream verwendet werden soll.
Im <PARAMS/>-Block wird ein Parameter definiert, der innerhalb der Skripte durch Verwendung des Namensstrings (hier "BEZEICHNER") abgefragt werden kann. Der Wert des Parameters ist in diesem Fall das FormField-Objekt einer Eingabekomponente, auf die über das Systemobjekt #field zugegriffen wird.
Weiterführende Themen |
---|
FS_BUTTON-Handler-Klassen, fsbutton(...)-Funktion, Absätze im ContentCreator hinzufügen |