Empfängerdaten
Dieses Kapitel beschreibt, wie Sie mittels Feldfunktionen Empfängerdaten verarbeiten sowie Texte und Zeitangaben modifizieren können.
Verwenden Sie Ihre spezifischen Daten und Empfängerlistenfelder, und testen Sie die Feldfunktionen, bevor Sie sie in einem Mailing verwenden.
Datum formatieren
Wenn Sie zum Beispiel ein Empfängerlistenfeld für das Datum des letzten Einkaufs haben, können Sie das Datum mittels Feldfunktion im Mailing-Text ausgeben: Wir vermissen Dich! Du hast zuletzt am 14.01.2020 etwas bestellt und wir würden uns freuen, Dich wiederzusehen! Anbei erhältst Du einen 10 € Einkaufsgutschein!
Da das Datum standardisiert gespeichert wird und im Mailing-Text zum Beispiel als 2020-01-14 10:12:00.0 ausgegeben würde, können Sie das Datum mit dem folgenden Velocity-Code formatieren:
$DateTimeHelper.formatDate("dd.MM.yyyy", $user.data.date)
Datum aus Empfängerlistenfeld ausgeben
Um ein Datum in einem Empfängerlistenfeld formatiert auszugeben, können Sie folgenden Velocity-Code verwenden:
#if(!$StringHelper.isEmpty($!user.data.date))$DateTimeHelper.formatDate("dd.MM.yyyy", $user.data.date)#end
Aktuelles Datum ausgeben
Um das aktuelle Datum formatiert auszugeben, können Sie folgenden Velocity-Code verwenden:
$DateTimeHelper.formatDate("dd.MM.yyyy", $DateTimeHelper.getCurrentDate().getTime())
Aktuelle Kalenderwoche ausgeben
Um die aktuelle Kalenderwoche formatiert auszugeben, können Sie folgenden Velocity-Code verwenden:
$DateTimeHelper.formatDate("ww", $DateTimeHelper.getCurrentDate().getTime(), $Common.locale("de", "DE", ""))
Zeitraum in Jahren ausgeben
Um den Zeitraum in Jahren zwischen dem aktuellen Datum und dem Datum in einem Empfängerlistenfeld formatiert auszugeben, können Sie folgenden Velocity-Code verwenden:
#set($date = $user.data.DATE_RECIPIENT_LIST_FIELD_NAME)
#if ($StringHelper.isEmpty($date))
#set($date = $DateTimeHelper.getCurrentDate().getTime())
#end
#set($durationList = $StringHelper.splitToList($DateTimeHelper.getDuration($date), 'd', false, true))
#if ($durationList.size() > 1)
#set ($days = $StringHelper.string2int($durationList.get(0), 0))
#else
#set ($days = 0)
#end
#set($years = $days / 365)
#if ($years >= 1)
Sie sind seit #if ($years == 1)einem Jahr#else$years Jahren#end Kunde bei uns!
#end
Der Velocity-Code gibt beispielsweise den folgenden Text aus: Sie sind seit 26 Jahren Kunde bei uns!
Zahlen und Vergleiche
Sie können Velocity verwenden, um Zahlenwerte aus Empfängerlistenfeldern zu vergleichen.
Größer als
#if($user.data.RECIPIENTLISTFIELD > 10)
AUSGABE
#end
Größer oder gleich
#if($user.data.RECIPIENTLISTFIELD >= 10)
AUSGABE
#end
Kleiner als
#if($user.data.RECIPIENTLISTFIELD < 10)
AUSGABE
#end
Kleiner oder gleich
#if($user.data.RECIPIENTLISTFIELD <= 10)
AUSGABE
#end
Gleich
#if($user.data.RECIPIENTLISTFIELD == 10)
AUSGABE
#end
Ungleich
#if($user.data.RECIPIENTLISTFIELD != 10)
AUSGABE
#end
Zufallszahlen generieren
Um eine Zufallszahl zu generieren, um zum Beispiel ein zufälliges Bild vom Datei-Server zu laden, können Sie folgenden Velocity-Code verwenden:
#set ($random = $MathHelper.random(10))$random
Der Velocity-Code gibt eine Zahl zwischen 0 und 10 aus. Es kann auch eine 0 ausgegeben werden.
Text ersetzen
Um Text aus Empfängerlistenfeldern zu ersetzen (zum Beispiel HTML-Code mit Sonderzeichen für die Textversion), können Sie folgenden ODR-Code als Text-Inhalt einfügen:
<odr:set value="%{user.data.RECIPIENTLISTFIELD}" var="content"/>
<odr:set value="WHAT" var="what"/>
<odr:set value="WITH" var="with"/>
<odr:set value="%{replace(content,what,with)}" var="newtext"/>
<odr:out value="%{newtext}"/>
Leerzeilen in Text-Version einfügen
Um HTML-Umbrüche (<br>
) für die Textversion in Leerzeilen umzuwandeln, können Sie folgenden ODR-Code als Text-Inhalt einfügen:
<odr:set value="%{user.data.RECIPIENTLISTFIELD}" var="content"/>
<odr:set value="WHAT" var="what"/>
<odr:set value="%{character('10')}" var="with"/>
<odr:set value="%{replace(content,what,with)}" var="newtext"/>
<odr:out value="%{newtext}"/>
Groß- oder Kleinbuchstaben
Mit dem folgenden Velocity-Code können Sie Texte aus Empfängerlistenfeldern in Großbuchstaben ausgeben:
$user.data.RECIPIENTLISTFIELD.toUpperCase()
Mit dem folgenden Velocity-Code können Sie Texte aus Empfängerlistenfeldern in Kleinbuchstaben ausgeben:
$user.data.RECIPIENTLISTFIELD.toLowerCase()
Barcodes generieren
Wenn Sie das Gutscheinsystem verwenden, um maschinenlesbare Barcodes zu generieren, können Sie mit Velocity Barcode-Feldfunktionen anhand Ihrer Empfängerlistenfelder erstellen.
Um Barcode-Feldfunktionen zu erstellen, benötigen Sie folgende Informationen:
- Empfängerlistenfeld. Interner Name des Empfängerlistenfeldes, das Sie für den Barcode verwenden möchten.
- Barcode-Typ. Wählen Sie einen der folgenden Barcode-Typen aus:
- EAN-13-Barcode. Verwenden Sie den Wert ean13barcode.
- Code-128-Barcode. Verwenden Sie einen der folgenden Werte:
- Standard-Zeichensatz: code128barcode (schaltet automatisch zwischen den Zeichensätzen A, B und C)
- Zeichensatz A: code128abarcode
- Zeichensatz B: code128bbarcode
- Zeichensatz C: code128cbarcode
- Interleaved-2-of-5-Barcode. Verwenden Sie den Wert twooffivebarcode.
Weitere Informationen zu den Barcode-Typen finden Sie unter Gutscheinblöcke erstellen.
- Barcode-Größe. Sie können die Barcode-Größe über die Breite und Höhe in Pixeln oder über die Strichdicke in Pixeln (1-10) bestimmen. Wenn Sie keine Größe festlegen, wird die Standardgröße 350 Pixel (Breite) und 200 Pixel (Höhe) verwendet.
Die Feldfunktionen fügen Sie mittels Image-Tag (<img src="{Feldfunktion}"/>) in Ihr Mailing ein. Alternativ können Sie die Feldfunkionen direkt mit Image-Tag erstellen, zum Beispiel: <img src="${barcodeCouponImage.getImageUrlFor($user.data.coupon, "twooffivebarcode", 9)}"/>
.
Größenoption Breite und Höhe
${barcodeCouponImage.getImageUrlFor($user.data.RECIPIENTLISTFIELD, "BARCODETYPE", WIDTH, HEIGHT)}
Größenoption Strichdicke
${barcodeCouponImage.getImageUrlFor($user.data.RECIPIENTLISTFIELD, "BARCODETYPE", LINETHICKNESS)}
QR-Codes generieren
Wenn Sie das Gutscheinsystem verwenden, um maschinenlesbare QR-Codes zu generieren, können Sie mit Velocity QR-Code-Feldfunktionen anhand Ihrer Empfängerlistenfelder erstellen.
Um QR-Code-Feldfunktionen zu erstellen, benötigen Sie folgende Informationen:
- Empfängerlistenfeld. Interner Name des Empfängerlistenfeldes, das Sie für den QR-Code verwenden möchten.
- Barcode-Typ. Geben Sie für die Größenoption Strichdicke den Typ
"qrcode"
an. - QR-Code-Größe. Sie können die QR-Code-Größe über die Breite und Höhe in Pixeln (100-1850) oder über die Strichdicke in Pixeln (1-10) bestimmen.
Die Feldfunktionen fügen Sie mittels Image-Tag (<img src="{Feldfunktion}"/>) in Ihr Mailing ein. Alternativ können Sie die Feldfunkionen direkt mit Image-Tag erstellen, zum Beispiel: <img src="${barcodeCouponImage.getImageUrlForQrCode($user.data.coupon, 300)}"/>
.
Größenoption Breite und Höhe
${barcodeCouponImage.getImageUrlForQrCode($user.data.RECIPIENTLISTFIELD, WIDTHANDHEIGHT)}
Größenoption Strichdicke
${barcodeCouponImage.getImageUrlFor($user.data.RECIPIENTLISTFIELD, "qrcode", LINETHICKNESS)}