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)}