<PROPERTY/> Eigenschaften für Formular-Elemente definieren
Das <PROPERTY/>-Tag kann in allen Bereichen der Regeldefinition eingesetzt werden. Abhängig davon, in welchem Kontext es verwendet wird, dient es entweder dazu einen Wert oder eine andere Eigenschaft eines Formular(-Elements) zu ermitteln, z. B.:
- „Hole den Wert der Eingabekomponente A.“
- „Ist die Eingabekomponente A fokussiert?“
- „Wurde das Formular in der Inhalte-Verwaltung geöffnet?“
oder eine Aktion für ein bestimmtes Formular(-Element) auszuführen, z. B.:
- „Prüfe, ob der ermittelte Wert den Vorgaben entspricht.“
- „Schreibe den ermittelten Wert in die Eingabekomponente B.“
- „Blende die Eingabekomponente B im Formular ein.“
In einem <PROPERTY/>-Tag müssen zwei Attribute angegeben werden:
- über das Attribut source wird ein Formular-Element angegeben
- über das Attribut name wird eine Eigenschaft angegeben
Beispiel: „Sichtbarkeit der Eingabekomponente 'st_text' im Formular“:
<PROPERTY source='st_text' name='VISIBLE'/>
Attribut "source"
Über das Attribut „source“ kann eine einzelne Komponente oder das gesamte Formular referenziert werden.
Folgende Angaben sind möglich:
- Zugriff auf eine Eingabekomponente <PROPERTY source='gadget' .../>
Angegeben wird der Name einer Eingabekomponente.
Diese Angabe ermöglicht den Zugriff auf bestimmte Eigenschaften der Eingabekomponente, z. B. auf den Wert, der innerhalb der Eingabekomponente gespeichert ist. - Zugriff auf eine Gestaltungskomponente <PROPERTY source='#form.gadget'.../>
Angegeben wird das Objekt #form und der Name der Gestaltungskomponente in Punktnotation.
Diese Angabe ermöglicht den Zugriff auf eine Gestaltungskomponente. Dabei handelt es sich um Formularelemente, die keinen Wert aufnehmen können, sondern zur Gruppierung von Formularelementen (CMS_GROUP) oder zum Einblenden von Hinweistexten (CMS_LABEL) verwendet werden. - Zugriff auf allgemeine Informationen des Formulars <PROPERTY source='#global'.../>
Angegeben wird das Objekt #global.
Diese Angabe ermöglicht den Zugriff auf allgemeine Informationen des Formulars, beispielsweise den Verwaltungstyp oder die Spracheinstellung, in der das Formular aufgerufen wird.
Attribut "name"
Über das Attribut „name“ wird der Name einer Eigenschaft übergeben. Die folgende Tabelle gibt an, welche Eigenschaft in welchem Kontext verwendet werden kann:
Vorbedingung | Wertermittlung | Handlungs- | Validierung | |
---|---|---|---|---|
Eingabekomponente | ADD | ADD | ||
Gestaltungskomponente | ||||
Allgemeine Formularinformationen | BODY | BODY | ||
Eingabekomponenten, die nicht im Standardumfang von FirstSpirit enthalten sind (d.h., Komponenten, die über FirstSpirit-Module hinzugefügt wurden), können zusätzliche Eigenschaften definieren. Die Verfügbarkeit dieser Eigenschaften in den einzelnen Regel-Kontexten kann variieren. Weitere Details entnehmen Sie bitte der Dokumentation des Moduls, das die jeweilige Eingabekomponente zur Verfügung stellt.
Folgende Eigenschaften sind möglich:
Eigenschaft | Beschreibung | Beispiel |
---|---|---|
Option „Hinzufügen“ deaktivieren
| <PROPERTY ... name="ADD"/> | |
Liefert den Inhaltsbereich zurück, in dem das Formular geöffnet wurde (nur für Absatzvorlagen). | <PROPERTY ... name="BODY"/> | |
Prüft, ob eine Eingabekomponente mit einem Vorgabewert vorbelegt wurde. | <PROPERTY ... name="DEFAULT"/> | |
Manipuliert die Auswahl von
| <PROPERTY ... name="DESELECT"/> | |
Option „Bearbeiten“ deaktivieren
| <PROPERTY ... name="EDIT"/> | |
Editierbarkeit definieren (nur Eingabekomponenten) | <PROPERTY ... name="EDITABLE"/> | |
Knotentyp abfragen (nur Eingabekomponenten) | <PROPERTY ... name="ELEMENTTYPE"/> | |
Liefert einen Booleschen Wert zurück (Eingabekomponente enthält einen Leerwert (true) oder nicht (false)) | <PROPERTY ... name="EMPTY"/> | |
Liefert die textuelle Version eines selektierten Wertes aus einer Auswahlliste zurück. | <PROPERTY ... name="ENTRY"/> | |
Liefert einen Booleschen Wert zurück: Eingabekomponente wird fokussiert (true) oder nicht (false). | <PROPERTY ... name="FOCUS"/> | |
Ermittelt die GID (globale ID) des aktuellen FirstSpirit-Elements | <PROPERTY ... name="GID"/> | |
Ermittelt die ID des aktuellen FirstSpirit-Elements | <PROPERTY ... name="ID"/> | |
Prüft, ob die Einstellung „Absatz in der Ausgabe generieren“ aktiviert ist | <PROPERTY ... name="INCLUDED"/> | |
Oberflächenbeschriftung einer Eingabe- oder Gestaltungskomponente auswerten | <PROPERTY ... name="LABEL"/> | |
Liefert die Projektsprache zurück, in der das Formular bearbeitet wird. | <PROPERTY ... name="LANG"/> | |
Liefert die Länge einer Eingabe innerhalb einer Eingabekomponente. | <PROPERTY ... name="LENGTH"/> | |
Liefert die Mastersprache des Projekts zurück. | <PROPERTY ... name="MASTER"/> | |
Option „Neu“ deaktivieren
| <PROPERTY ... name="NEW"/> | |
Prüfung, ob sich der Benutzer aktuell im Dialog „Vorgabewerte bearbeiten“ befindet | <PROPERTY name="PRESET" source="#global"/> | |
Option „Löschen“ / „Entfernen“ deaktivieren
| <PROPERTY ... name="REMOVE"/> | |
Prüfung, ob in FS_REFERENCE ein Absatz ausgewählt wurde | <PROPERTY ... name="SECTION"/>: | |
Manipuliert die Auswahl von
| <PROPERTY ... name="SELECT"/> | |
Liefert die Anzahl der Elemente von Eingabekomponenten des Typs
| <PROPERTY ... name="SIZE"/> | |
Liefert den Verwaltungstyp zurück, in dem das Formular geöffnet wird. | <PROPERTY ... name="STORETYPE"/> | |
Ermittelt die Vorlage des aktuellen FirstSpirit-Elements | <PROPERTY ... name="TEMPLATE"/> | |
Prüft, ob die Einstellung „Seite für diese Sprache vollständig übersetzt“ aktiviert ist. | <PROPERTY ... name="TRANSLATED"/> | |
Ermittelt die UID / den Referenznamen des aktuellen FirstSpirit-Elements | <PROPERTY ... name="UID"/> | |
Gültigkeit definieren (nur Eingabekomponenten) | <PROPERTY ... name="VALID"/> | |
Liefert den Wert einer Eingabekomponente zurück oder setzt einen Wert. | <PROPERTY ... name="VALUE"/> | |
Sichtbarkeit definieren (für Eingabekomponenten und Gestaltungskomponenten) | <PROPERTY ... name="VISIBLE"/> | |
Liefert einen Booleschen Wert zurück: Formular wird im FirstSpirit ContentCreator geöffnet (true) oder nicht (false). | <PROPERTY ... name="WEB"/> | |
Negation
Handelt es sich beim Ergebnis der Wertermittlung um einen Booleschen Wert, kann für <PROPERTY/> eine Negation über das Tag <NOT/> erreicht werden.
Beispiel:
In diesem Beispiel enthält die Vorlage 3 Textfelder:
- Textfeld 1: „st_text_1“
- Textfeld 2: „st_text_2“
- Textfeld 3: „st_text_3“
Textfeld 1 wird immer angezeigt, Textfeld 2 wenn Textfeld 1 leer ist und Textfeld 3, wenn Textfeld 1 nicht leer ist.
<RULES>
<RULE>
<WITH>
<PROPERTY name="EMPTY" source="st_text_1"/>
</WITH>
<DO>
<PROPERTY name="VISIBLE" source="st_text_2"/>
<NOT>
<PROPERTY name="VISIBLE" source="st_text_3"/>
</NOT>
</DO>
</RULE>
<RULES>