Ziel​

In Abhängigkeit davon, ob der Empfänger eine vorgegebene Bedingung erfüllt, soll mithilfe von Personalisierungs-Platzhaltern eine von zwei Text- oder Bildvarianten in eine Nachricht eingefügt werden.

Diese Art von Personalisierung kann nur im Textmodus realisiert werden. Der grafische ​Personalisierungs-Builder​ unterstützt diese Art von Personalisierung nicht.

Diese Personalisierung (und deutlich komplexere Personalisierungen!) lässt sich auch per Personalisierungs-Regeln – InsertIf/InsertElse​ erstellen.

Erforderliche Informationen​

Um programmgesteuert zwei Alternativen in eine Nachricht einzufügen, benötigt die Mapp Engage folgende drei Informationen:

  1. Welches Attribut soll welche Bedingung erfüllen?
  2. Was geschieht, wenn die Bedingung erfüllt ist?
  3. Was geschieht, wenn die Bedingung nicht erfüllt ist?

Während des Versands prüft die Mapp Engage für jeden Empfänger, ob der Wert dieses Attributs die Bedingung erfüllt oder nicht. Falls ja, wird ein bestimmter Text bzw. ein bestimmtes Bild eingefügt. Falls nein, wird ein alternativer Text bzw. ein alternatives Bild eingefügt.

Aufbau eines Personalisierungs-Platzhalters

Der Personalisierungs-Platzhalter setzt sich wie folgt zusammen:

<%${(attribut und bedingung)? 'text/bild1' : 'text/bild2'}%>

Ein Personalisierungs-Platzhalter ist grundsätzlich von den Zeichen <%  und %> eingeschlossen (siehe Personalisierungs-Platzhalter​).

Ausdruck:

Zum Einrichten von Bedingungen und zur Angabe der Varianten wird folgender Ausdruck verwendet: ${ . . . }.

Innerhalb des Ausdrucks sind:

Texte in einfachen geraden Anführungszeichen (') anzugeben.

Wenn ein Attribut verwendet wird, wird der Attributname ohne einfache Anführungszeichen eingefügt.

Eine Ausnahme bildet das Attribut user['Titel']. In diesem Fall ist der abgefragte Wert (1, 2, -1) in einfachen Anführungszeichen anzugeben.

Die drei zuvor erwähnten Arten von Informationen werden nun wie folgt im Ausdruck definiert:

Welches Attribut soll welche Bedingung erfüllen?

  • Der erste Teil des Ausdrucks gibt an, welches Attribut abgefragt werden soll.

  • (Attribut and Bedingung):  In den ersten Klammern vor dem Fragezeichen werden das abzufragende Attribut und der zugehörige Wert angegeben.
    Es kann auch abgefragt werden, ob ein Attribut einen Wert für den Empfänger enthält (nicht leer) oder nicht (leer).

  • Zum Erstellen der Abfrage wird die JSP Expression Language verwendet. Es können auch Mapp Engage-Funktionen verwendet werden (siehe  Mapp Engage-Funktionen​).

Was geschieht, wenn die Bedingung erfüllt ist?

Das zweite Element des Ausdrucks definiert, was geschieht, wenn die Bedingung erfüllt ist.

  •  Fragezeichen ( ? ) – Das Trennzeichen zwischen der Abfrage und der ersten Variante.

  • 'Text/Bild1'   – Der Text bzw. das Bild, der bzw. das eingefügt wird, wenn die Bedingung erfüllt ist.

Was geschieht, wenn die Bedingung nicht erfüllt ist?

  • Doppelpunkt (:) – Das Trennzeichen zwischen der ersten und der zweiten Variante.

  • 'Text/Bild2'  – Der Text bzw. das Bild, der bzw. das eingefügt wird, wenn die Bedingung nicht erfüllt ist.


Beispiel

Wenn die Nachricht einen gespeicherten Namen besitzt, soll der Name der Nachricht im Feld für den Nachrichten-Header angezeigt werden.

Wenn kein Name für die Nachricht gespeichert wurde, soll der Text der Betreffzeile in der Nachricht angezeigt werden.

Der Personalisierungs-Platzhalter sieht dann wie folgt aus:

<%${(not empty message['Name'])? message['Name']: message['Betreff']}%>

(not empty message['Name']) :  Die Abfrage, ob für die Nachricht ein Name erfasst wurde.

  • message['Name'] : Dieser Text wird angezeigt, wenn die Abfrage das Ergebnis „wahr“ liefert und ein Nachrichtenname vorhanden ist. In diesem Fall wird der Inhalt angezeigt, der als Name der Nachricht gespeichert wurde.

  • message['Betreff']  :  Dieser zweite Text wird angezeigt, wenn die Abfrage das Ergebnis „falsch“ liefert, also wenn message['Name']  keinen Wert enthält. In diesem Fall wird der Inhalt eingefügt, der in message['Betreff'] gespeichert wurde.