Datenschutzhinweis

 

Beim Laden dieses Inhalts werden Nutzungsinformationen an Vimeo übertragen und dort ggf. verarbeitet.

 

             

System-Replacer Erweiterung (JavaScript)

Geändert am Di, 24 Sep um 9:39 VORMITTAGS

INHALTSVERZEICHNIS

Vorbemerkungen

Achtung: Das Plugin liegt aktuell in einer Beta-Version vor.

Für das Plugin bieten wir keinen Support!


Das System-Replacer Plugin für formcycle bietet eine Möglichkeit, Platzhalter innerhalb eines Formulars zu definieren, die durch benutzerdefinierten JavaScript-Code ersetzt werden können. Durch diese Funktionalität lassen sich dynamische Inhalte im Workflow einfügen und mit den Eingaben der Benutzer verknüpfen.

Die Nutzung des Plugins erfordert Programmierkenntnisse in JavaScript. Da die Fehlersuche (Debugging) im Workflow nur sehr begrenzt möglich ist, ist der Code schlecht wartbar und das Plugin stellt eine hohe Anforderung an eine saubere Programmierung. 


Installation

Das Plugin kann als Mandant-Plugin oder System-Plugin installiert werden. Eine Anleitung zur Installation von Plugins finden Sie hier.


Funktionsweise

Die Platzhalter im System-Replacer Plugin werden durch die spezielle Syntax `[%$=]` aktiviert. Innerhalb dieser Syntax kann beliebiger Vanilla JavaScript-Code eingefügt werden. Der JavaScript-Code wird ausgeführt, wenn die Aktion im Workflow ausgeführt wird.


Die Funktion kann überall dort verwendet werden, wo die Platzhalterauswahl zur Verfügung steht.


Ein Beispielformular mit einem Auswahlfeld selAnrede, zwei Eingabefeldern für den Namen tfVorname und tfNachname und zwei Eingabefeldern für Beträge tfBetrag1 und tfBetrag2 könnte so aussehen:

Im Workflow wird eine Textdatei erzeugt, die danach gleich ausgeliefert wird. Der Inhalt enthält JavaScript-Anweisungen:

Die Textdatei wird im Beispiel in einem Popup-Fenster ausgegeben:


Platzhalter-Syntax

Der Platzhalter beginnt mit `[%$=`, gefolgt von dem JavaScript-Code und wird mit `%]` abgeschlossen.

Der JavaScript-Code wird zur Laufzeit ausgeführt und das Ergebnis wird anstelle des Platzhalters im Formular eingefügt.


1. Beispiel:

[%$= 'Hallo ' + get('tfVorname') + ' ' + get('tfNachname') %]

In diesem Beispiel wird ein personalisierter Begrüßungstext erstellt, der die Werte der Formularfelder `tfVorname` und `tfNachname` verwendet.

Eine besondere Funktion innerhalb des Plugins ist die `get()`-Funktion. Diese Funktion ermöglicht es, auf die Werte von Formularfeldern zuzugreifen. Mit `get('Elementname')` kann der aktuelle Wert eines Formularfeldes abgerufen werden.


2. Beispiel:

[%$=(+get('selAnrede') === 1 ? 'Sehr geehrter' : 'Sehr geehrte') + ' ' +get('selAnrede').lsttxt(); %][%tfVorname%] [%tfNachname%]

Zusätzlich zur `get()`-Funktion kann auf Auswahlfelder (`select`-Elemente) über die Methode `lsttxt()` zugegriffen werden, um den Text des ausgewählten Elements zu erhalten.

In diesem Beispiel wird basierend auf der Auswahl im Feld `selAnrede` eine Anrede erstellt. Wenn der Benutzer "Herr" auswählt (repräsentiert durch den Wert `1`), wird "Sehr geehrter" ausgegeben, andernfalls "Sehr geehrte". Diese Anrede wird dann mit dem Vornamen und Nachnamen kombiniert.


3. Beispiel:

[%$=
    var result = '', male = +get('selAnrede') === 1;

    if (male) {
        result = 'Sehr geehrter';
    } else {
        result = 'Sehr geehrte';
    }

    result + ' ' +get('selAnrede').lsttxt();
%] [%tfVorname%] [%tfNachname%]

Es ist auch möglich, komplexere Berechnungen und Logiken in mehrzeiligem JavaScript-Code zu schreiben.

Hier wird eine ähnliche Anrede wie im zweiten Beispiel erstellt, aber in einem mehrzeiligen Codeblock, um die Lesbarkeit und die Erweiterbarkeit zu verbessern.


4. Beispiel:

[%$= +get('tfBetrag1') + +get('tfBetrag2') %]

Mit dem Plugin lassen sich auch Berechnungen innerhalb von Formularen durchführen. Beispielsweise kann die Summe von zwei Beträgen automatisch berechnet und in das Formular eingefügt werden.

In diesem Beispiel werden die Werte der beiden Felder `tfBetrag1` und `tfBetrag2` addiert und das Ergebnis anstelle des Platzhalters im Formular angezeigt.

War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren