email Variable ausblenden wenn leer

volvisti

Sehr aktives Mitglied
18. Juli 2017
317
43
Hallo zusammen,
im Shop frage ich bei der Registrierung Anrede und Titel optional ab.
Nun würde ich diese Varaiblen gerne in der Anrede verwenden, aber ausblenden, wenn sie nicht gefüllt wurden.

Guten Tag {Kunde->cAnredeLocalized} {Kunde->cTitel} {Kunde-> cVorname} {Kunde ->Nachname},

würde z.B. zu
Guten Tag Herr Dr. Hans Müller,

Wenn der Kunde sich nun aber nur als Uschi Glas registert hat, würde ja ausgegeben werden:
Guten Tag Uschi Glas,

Das sieht natürlich nicht wirklich gut aus.
Im Formular wüßte ich, wie es geht, aber in der Mailvorlage des Shops lege ich die Karten.

Also bitte ich Euch um Hilfe sowohl für die HTML-, wie für die Text-Version.
Danke schon mal.

Beste Grüße aus dem Vorweihnachtschaos
 

volvisti

Sehr aktives Mitglied
18. Juli 2017
317
43
Sorry, das ich mich da nicht so genau auskenne. :-S ;)
Genau die Handhabung der IFs war mein Problem.
Programmierung ist halt nur zu einem Drittel meine Welt. ;)

Kannst Du mir auch nen Tipp geben, wie ich das mit den Leerzeichen mache?
Danke Dir schon mal
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
So, wie ich es eben geschrieben habe.
Code:
Guten Tag {if $Kunde->cAnredeLocalized|strlen > 0}{$Kunde->cAnredeLocalized} {/if}{if $Kunde->cTitel|strlen > 0}{$Kunde->cTitel} {/if}{$Kunde->cVorname} {$Kunde->cNachname},
Ergibt
"Guten Tag Frau Dr. Marianne Meyer"
"Guten Tag Herr Hubert Müller"
"Guten Tag Dr. Peter Schmidt"
"Guten Tag Max Mustermann"
 
Zuletzt bearbeitet:

volvisti

Sehr aktives Mitglied
18. Juli 2017
317
43
Vielen Dank für die Hilfe.

Doch - zu früh gefreut...
Habe Deinen Code in die Vorlage kopiert und eine Testmail angefordert.
Das Ergebnis war leider nicht wie von Dir beschrieben.

Nach ein wenig Nachdenken bin ich drauf gekommen, dass da in Deiner Codezeile ein paar } zu viel sind und das "c" vor Nachname fehlt.
Nach Löschen und Ergänzen bleibt dann dieser Lösungsansatz übrig:

Guten Tag {if $Kunde->cAnredeLocalized | strlen > 0} {$Kunde->cAnredeLocalized} {/if} {if $Kunde->cTitel | strlen > 0}{$Kunde->cTitel} {/if} {$Kunde->cVorname} {$Kunde->cNachname},

Für alle, die, wie ich, nicht "from scratch" erfinden aber Lückentexte füllen können... ;););)
 
Zuletzt bearbeitet: