Probleme mit Kundenanrede in der Bestellbestätigungs-Mail

Ich habe jetzt schon einiges durchprobiert, finde aber die Lösung des Problems nicht. Meine Anrede in den Bestellbestätigungs-Mails funktioniert nicht mehr.

Ich habe das hier versucht:

 Sehr geehrte{if $billingaddress.salutation eq "mr"}r Herr{elseif $billingaddress.salutation eq "ms"} Frau{/if}{$sUser.billing\_firstname} {$sUser.billing\_lastname},

und 

Sehr geehrte{if $sUser.billing_salutation eq „mr“}r Herr{elseif $sUser.billing_salutation eq „ms“}Frau{/if} {$sUser.billing_firstname} {$sUser.billing_lastname},

 

Bei beiden Varianten habe ich der E-Mail nur stehen:

"Sehr geehrte ,

vielen Dank für Ihre Bestellung (…)"

Wieso funktioniert das nicht?

Nachtrag: Ich habe die Zeile mit den Variablen aus der E-Mail-Vorlage „Komplett ausgeliefert“ herauskopiert. Bei dieser Vorlage funktioniert das mit der Anrede richtig. Exakt so wieder bei der Vorlage „sOrder“ eingefügt und da funktioniert sie nicht …

Shop-Cache habe ich gelöscht – was kann ich noch machen?

Du kannst dir rechts die verfügbaren Variablen ansehen.

Deine erste Variante sieht so aus als ob Sie funktionieren sollte. Du solltest das mal mit einer richtigen Bestellung prüfen, da bei einer Testmail nicht immer alles so vorhanden ist/stimmt wie man es vermutet.

Es sieht so aus, als ob die Variable einfach nicht gefüllt ist. Deshalb Kunden anlegen, überprüfen ob Anrede ein Pflichtfeld ist (sonst kann es leer gelassen werden und es gibt keine Anrede du prüfst jedoch ob mr oder ms drinne steht (if und elseif) hast aber keinen Fallback falls nichts angegeben ist (else)) - dann gibt er das eben so aus und wäre nach dem Code her ja korrekt.

Ich habe das bereits mit richtigen Bestellungen geprüft. Bei einer richtigen Bestellung funktioniert die richtige Anrede mit Herr und Frau, Vorname, Nachname. Die Bestellbestätigung zu gleicher Bestellung zeigt jedoch nichts an! Weder Anrede, noch Vor- und Nachnamen. Anrede, Vor- und Nachname sind auch alles Pflichtfelder.

Und mit einem else -> wird der Fallback abgehandelt?

Vermutung ist immer noch, dass da in der Variablen einfach nichts drin steht - vielleicht ist auch der Name falsch.

Entweder verhindert eine Anpassung (Theme, Plug-In, Einstellung), dass die Variable hier gelesen werden kann oder etwas darin hier ankommt oder sie ist falsch (geschrieben).

Der Code sieht auch beim zweiten mal ansehen so aus als ob er funktionieren müsste.

1 „Gefällt mir“

Gelöst! Es muss folgendermaßen lauten:

Sehr geehrte{if $billingaddress.salutation eq “mr”}r Herr{elseif $billingaddress.salutation eq “ms”}Frau{/if} {$billingaddress.firstname} {$billingaddress.lastname},

Es waren in der Tat die falschen Variablen drin. Allerdings verstehe ich immer noch nicht ganz, wieso bei der Bestellbestätigung und der Versandbestätigung unterschiedliche Variablen herangezogen werden, denn bei der Versandbestätigung hat es ja mit den oben genannten Variablen funktioniert.

Vielen Dank für Deine Hilfe, wenigstens das Prinzip mit den Variablen ist mir jetzt klarer.