Startseite
jump to top

Startseite / Vorlagenentwicklung / Regeln / Formulareigenschaften <PROPERTY/> / Eigenschaft MASTER

Eigenschaft LANG und Eigenschaft MASTER

Sprachabhängige Validierung

Checkbox „übersetzt“

Redaktionelle Inhalte können sprachabhängig gepflegt werden. Abhängig von den Sprachen, die vom Projektadministrator für ein Projekt angelegt wurden, stehen den Redakteuren unterschiedliche Formularelemente, beispielsweise zur Eingabe von Texten und Medien, in mehreren Sprachregistern zur Verfügung.

Die Projektsprache, in der ein Formular bearbeitet wird, kann über eine Regel geprüft werden. Mithilfe des Attributs LANG kann beispielsweise eine Regel definiert werden, die das Bearbeiten einer Eingabekomponente, abhängig von der Redaktionssprache, in der das Formular geöffnet wird, ermöglicht.

Der Ausdruck <PROPERTY source='#global' name='LANG'/> kann im Bereich Wertermittlung der Regeldefinition (oder für die Definition einer Vorbedingung) eingesetzt werden und prüft, in welcher Projektsprache ein Formular geöffnet wurde. Da es sich um eine allgemeingültige Eigenschaften des Formulars handelt, muss dem Attribut source das Objekt #global zugewiesen werden. Der Ausdruck liefert die Spracheinstellung (Sprachkürzel) zurück, die aktuell innerhalb des Formulars bearbeitet wird.

Zur Definition einer vollständigen Bedingung für eine sprachabhängige Validierung, also z. B.:

  • „Wurde das Formular in der Projektsprache DE geöffnet?“ oder
  • „Wurde das Formular in der Projekt-Mastersprache geöffnet?“

muss zusätzlich ein Vergleichswert:

  • ein konstanter textueller Vergleichswert (z. B. <TEXT>EN</TEXT>) oder
  • ein variabler Vergleichswert, z. B. die Mastersprache des Projekts (<PROPERTY source='#global' name='MASTER'/> )

und der Operator <EQUAL/> angegeben werden. In diesem Fall liefert der Ausdruck einen Booleschen Wert zurück.

Wichtig Regeln in dynamische Formulare wirken sich auf alle Projektsprachen aus (sofern nichts anderes definiert wurde). Legt der Vorlagenentwickler also fest, dass ein bestimmtes Eingabefeld in einem Formular gefüllt werden muss, bevor das Formular gespeichert werden kann, so muss der Redakteur beim Anlegen oder Bearbeiten eines Formulars, das auf dieser Regel basiert, das betreffende Eingabefeld in allen Projektsprachen füllen, um das Formular speichern zu können. Mithilfe einer sprachabhängigen Vorbedingung/Validierung kann dieses Verhalten vermieden werden.

Beispiele

Beispiel 1) Vorbedingung für eine sprachabhängige Validierung definieren

Die Definition einer Vorbedingung eignet sich ideal für eine sprachabhängige Validierung. Im folgenden Beispiel wird die Regel abhängig von einer bestimmten Redaktionssprache durchlaufen.

Dazu wird der Ausdruck <PROPERTY source="#global" name="LANG"/> innerhalb einer Vorbedingung verwendet. Das <PROPERTY/>-Tag liefert die entsprechende Sprachinformation zurück, z. B. „DE“. Ist diese Sprachinformation identisch mit dem Vergleichswert, gilt die Vorbedingung als erfüllt.

Vorbedingung für eine bestimmte Projektsprache: Als Vergleichswert wird hier eine textuelle Konstante verwendet und eine Prüfung auf Gleichheit (<EQUAL/>) ausgeführt. Die Vorbedingung ist erfüllt, wenn das Formular in der Redaktionssprache „DE“ geöffnet wird.

...
<IF>
<EQUAL>
<PROPERTY source="#global" name="LANG"/>
<TEXT>DE</TEXT>
</EQUAL>
</IF>
...

Vorbedingung für die Projekt-Mastersprache: Als Vergleichswert wird hier die Projekt-Mastersprache über ein weiteres <PROPERTY/>-Tag geholt und eine Prüfung auf Gleichheit (<EQUAL/>) ausgeführt. Die Vorbedingung ist erfüllt, wenn das Formular in der Projekt-Mastersprache geöffnet wird.

...
<IF>
<EQUAL>
<PROPERTY source="#global" name="LANG"/>
<PROPERTY source="#global" name="MASTER"/>
</EQUAL>
</IF>
...

Siehe auch Beispiel: Sprachabhängige Validierung mithilfe einer Vorbedingung.

Beispiel 2) Formular-Inhalte abhängig von der Projektsprache einblenden

Das folgende Formular enthält ein Gestaltungselement vom Typ CMS_GROUP („st_german“). Über ein dynamisches Formular soll sichergestellt werden, dass dieser Formular-Inhalt dem Redakteur nur innerhalb der Projektsprache „DE“ eingeblendet wird.

Dazu wird der Ausdruck <PROPERTY source="#global" name="LANG"/> innerhalb der Wertermittlung verwendet. Das <PROPERTY/>-Tag liefert die entsprechende Sprachinformation zurück. Diese wird gegen einen konstanten Vergleichswert geprüft. Das Ergebnis dieser Prüfung ist ein Boolescher Wert, der anschließend im <DO/>-Abschnitt mit einer Handlungsanweisung verknüpft wird. Ist die Bedingung erfüllt (Wertermittlung liefert TRUE), wird der Formular-Inhalt „st_german“ über ein weiteres <PROPERTY/>-Tag „sichtbar“ geschaltet.

...
<RULE>
<WITH>
<EQUAL>
<PROPERTY source="#global" name="LANG"/>
<TEXT>DE</TEXT>
</EQUAL>
</WITH>
<DO>
<PROPERTY source="#form.st_german" name="VISIBLE"/>
</DO>
</RULE>
...

© 2005 - 2020 e-Spirit AG | Alle Rechte vorbehalten. | FirstSpirit 2020-07 | Datenschutz | Impressum | Kontakt