Dieses Kapitel beschreibt Anredelogiken in ODR und und Velocity. Standardmäßig verwendet Optimizely Campaign ODR-Anredelogiken.
Verwenden Sie Ihre spezifischen Daten und Empfängerlistenfelder, und testen Sie die Feldfunktionen, bevor Sie sie in einem Mailing verwenden.
ODR
Nachfolgend finden Sie Standard- und spezielle ODR-Anredelogiken inklusive Feldfunktionsvorlagen.
ODR kann keine Sonderzeichen als HTML-Codes ausgeben. Da einige E-Mail-Programme jedoch die jeweiligen HTML-Codes benötigen, um Sonderzeichen korrekt darzustellen, müssen Sie für diese Fälle Velocity verwenden.
Anreden ohne Titel
Für die personalisierte Anrede Sehr geehrte Frau, Sehr geehrter Herr beziehungsweise Sehr geehrte Damen und Herren können Sie den folgenden ODR-Code verwenden:
<odr:set value="%{lower(user.data.salutation)}" var="salut"/><odr:set value="%{user.data.lastname}" var="lname"/><odr:choose> <odr:when test="%{not isEmpty(lname) and (salut eq 'herr' or salut eq 'frau')}"> <odr:choose> <odr:when test="%{salut eq 'herr'}"> <odr:out value="Sehr geehrter Herr" /> </odr:when> <odr:when test="%{salut eq 'frau'}"> <odr:out value="Sehr geehrte Frau" /> </odr:when> </odr:choose> <odr:out value=" %{lname}" /> </odr:when> <odr:otherwise> <odr:out value="Sehr geehrte Damen und Herren" /> </odr:otherwise></odr:choose>
Anreden mit Titel
Sofern Ihre Empfängerliste ein Empfängerlistenfeld für den Anredetitel enthält, können Sie diesen mit dem folgenden ODR-Code ausgeben:
<odr:set value="%{lower(user.data.salutation)}" var="salut"/><odr:set value="%{user.data.title}" var="title"/><odr:set value="%{user.data.lastname}" var="lname"/><odr:choose> <odr:when test="%{not isEmpty(lname) and (salut eq 'herr' or salut eq 'frau')}"> <odr:choose> <odr:when test="%{salut eq 'herr'}"> <odr:out value="Sehr geehrter Herr" /> </odr:when> <odr:when test="%{salut eq 'frau'}"> <odr:out value="Sehr geehrte Frau" /> </odr:when> </odr:choose> <odr:choose> <odr:when test="%{not isEmpty(title)}"> <odr:out value=" %{title}" /> </odr:when> </odr:choose> <odr:out value=" %{lname}" /> </odr:when> <odr:otherwise> <odr:out value="Sehr geehrte Damen und Herren" /> </odr:otherwise></odr:choose>
Gemischte Anreden
Wenn Sie verschiedene Einträge im Empfängerlistenfeld für die Anrede haben, können Sie folgenden ODR-Code verwenden:
<odr:set value="(herr|m|1|male|mr|mr.)" var="male" /><odr:set value="(frau|w|2|f|female|mrs|mrs.)" var="female" /><odr:set value="%{user.data.lastname}" var="lastname" /><odr:set value="%{lower(user.data.salutation)}" var="salutation" /><odr:choose> <odr:when test="%{!isEmpty(lastname) and (matches(salutation, male) or matches(salutation, female))}"> <odr:choose> <odr:when test="%{matches(salutation, female)}"> <odr:out value="Sehr geehrte Frau" /> </odr:when> <odr:when test="%{matches(salutation, male)}"> <odr:out value="Sehr geehrter Herr" /> </odr:when> </odr:choose> <odr:out value=" %{lname}" /> </odr:when> <odr:otherwise> <odr:out value="Sehr geehrte Damen und Herren" /> </odr:otherwise></odr:choose>
Im Code-Beispiel wird davon ausgegangen, dass im Empfängerlistenfeld die Werte Herr, M, 1, Male, Mr, Mr. bzw. Frau, W, 2, F, Female, Mrs, Mrs. vorhanden sind.
Wenn Mr und Mrs abgefragt werden, muss bei der Ausgabe die weibliche Anrede zuerst stehen, da Mr sowohl auf male als auch female zutrifft. Andernfalls wird immer die männliche Anrede ausgegeben.
Mehrfache Anreden
Sofern sie mehrere Empfängerlistenfelder für verschiedene Anreden haben, können Sie den folgenden ODR-Code als Standard-Ersetzung verwenden:
Sie müssen für beide Anreden und Nachnamen entsprechende Empfängerlistenfelder referenzieren.
<odr:set value="%{lower(user.data.salutation)}" var="salut"/><odr:set value="%{user.data.lastname}" var="lname"/><odr:set value="%{lower(user.data.salutation2)}" var="salut2"/><odr:set value="%{user.data.lastname2}" var="lname2"/><odr:choose> <odr:when test="%{(not isEmpty(lname) and (salut eq 'herr' or salut eq 'frau')) and (not isEmpty(lname2) and (salut2 eq 'herr' or salut2 eq 'frau'))}"> <odr:choose> <odr:when test="%{(salut eq 'frau') and (salut2 eq 'frau')}"> <odr:out value="Sehr geehrte Frau %{lname}," /> <odr:out value="<br>"/> <odr:out value="sehr geehrte Frau %{lname2},"/> </odr:when> <odr:when test="%{(salut eq 'herr') and (salut2 eq 'frau')}"> <odr:out value="Sehr geehrte Frau %{lname2}," /> <odr:out value="<br>"/> <odr:out value="sehr geehrter Herr %{lname},"/> </odr:when> <odr:when test="%{(salut eq 'frau') and (salut2 eq 'herr')}"> <odr:out value="Sehr geehrte Frau %{lname}," /> <odr:out value="<br>"/> <odr:out value="sehr geehrter Herr %{lname2},"/> </odr:when> <odr:when test="%{(salut eq 'herr') and (salut2 eq 'herr')}"> <odr:out value="Sehr geehrter Herr %{lname}," /> <odr:out value="<br>"/> <odr:out value="sehr geehrter Herr %{lname2},"/> </odr:when> </odr:choose> </odr:when> <odr:otherwise> <odr:out value="Sehr geehrte Damen und Herren" /> </odr:otherwise></odr:choose>
Folgenden ODR-Code müssen Sie zusätzlich als Text-Inhalt einfügen:
Sie müssen für beide Anreden und Nachnamen entsprechende Empfängerlistenfelder referenzieren.
<odr:set value="%{lower(user.data.salutation)}" var="salut"/><odr:set value="%{user.data.lastname}" var="lname"/><odr:set value="%{lower(user.data.salutation2)}" var="salut2"/><odr:set value="%{user.data.lastname2}" var="lname2"/><odr:set value="%{character('10')}" var="br"/><odr:choose> <odr:when test="%{(not isEmpty(lname) and (salut eq 'herr' or salut eq 'frau')) and (not isEmpty(lname2) and (salut2 eq 'herr' or salut2 eq 'frau'))}"> <odr:choose> <odr:when test="%{(salut eq 'frau') and (salut2 eq 'frau')}"> <odr:out value="Sehr geehrte Frau %{lname}," /> <odr:out value="%{br}"/> <odr:out value="sehr geehrte Frau %{lname2},"/> </odr:when> <odr:when test="%{(salut eq 'herr') and (salut2 eq 'frau')}"> <odr:out value="Sehr geehrte Frau %{lname2}," /> <odr:out value="%{br}"/> <odr:out value="sehr geehrter Herr %{lname},"/> </odr:when> <odr:when test="%{(salut eq 'frau') and (salut2 eq 'herr')}"> <odr:out value="Sehr geehrte Frau %{lname}," /> <odr:out value="%{br}"/> <odr:out value="sehr geehrter Herr %{lname2},"/> </odr:when> <odr:when test="%{(salut eq 'herr') and (salut2 eq 'herr')}"> <odr:out value="Sehr geehrter Herr %{lname}," /> <odr:out value="%{br}"/> <odr:out value="sehr geehrter Herr %{lname2},"/> </odr:when> </odr:choose> </odr:when> <odr:otherwise> <odr:out value="Sehr geehrte Damen und Herren" /> </odr:otherwise></odr:choose>
Velocity
Für die personalisierte Anrede Sehr geehrte Frau, Sehr geehrter Herr beziehungsweise Sehr geehrte Damen und Herren können Sie den folgenden Velocity-Code als Standard-Ersetzung verwenden:
Um Sonderzeichen in HTML-Code umzuwandeln, beinhaltet der Velocity-Code die Funktion $HtmlUtils.encodeEntities()
.
#set($salutation = $!user.data.salutation)#set($lastname = $!user.data.lastname)#if (!$StringHelper.isEmpty($salutation) && !$StringHelper.isEmpty($lastname) && ($salutation.equals("Herr") || $salutation.equals("Frau"))) #if ($salutation.equals("Herr")) Sehr geehrter Herr #else Sehr geehrte Frau #end $HtmlUtils.encodeEntities($user.data.lastname)#else Sehr geehrte Damen und Herren#end
Folgenden Velocity-Code (ohne die Funktion $HtmlUtils.encodeEntities()
) müssen Sie zusätzlich einzeilig als Text-Inhalt einfügen:
#set($salutation = $!user.data.salutation)#set($lastname = $!user.data.lastname)#if (!$StringHelper.isEmpty($salutation) && !$StringHelper.isEmpty($lastname) && ($salutation.equals("Herr") || $salutation.equals("Frau")))#if ($salutation.equals("Herr"))Sehr geehrter Herr #else$!{null}Sehr geehrte Frau #end$user.data.lastname#else$!{null}Sehr geehrte Damen und Herren#end
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.