Adresszeilen in sORDER anpassen

Hallo,

 

ich möchte gerne die Zeilen in der Anschrift eines Kunden nur dann darstellen, wenn diese auch ausgefüllt wurden.

Hiermit meine ich z.B. Firma / Abteilung / Adresszusatz, also konkret folgende Variablen:

$billingaddress.company / department / additionalAddressLine1

 

Ich habe also folgenden Code hinzugefügt:

{if $billingaddress.department}{$billingaddress.department}{/if}

Leider funktioniert das nicht. An der Stelle steht dann in der Bestellmail sORDER eine Leerzeile.
Wenn also ein Privatkunde ohne diese Adressfelder bestellt, sieht die Adresse ziemlich zerstückelt aus.

 

Wie muss ich den Code ändern, dass die Zeile nur dann in der Mail auftaucht, wenn ein Eintrag vorliegt?

 

Grüße

 

Weiß wirklich keiner wie man den Code so ändert, dass die entsprechenden Zeilen nur dann dargestellt werden wenn Text darin enthalten ist?

Es gibt einen Plaintext- und einen HTML-Teil der Email. Sicher, dass Du das im richtigen oder besser in beiden Teilen eingefügt hast?

Es handelt sich um eine HTML Mail und ich habe natürlich auch den HTML Text der Mailvorlagen geändert. Der Plaintext beinhaltet in meinem Shop einen völlig anderen Text und wird nicht verwendet.

Ist der Code denn richtig?

Zumindest funktioniert er z.B. beim Kommentar. Der Text “Ihr Kommentar:” wird nur dargestellt, wenn auch ein Kommentar seitens des Kunde eingegeben wurde.

{if $sComment}
Ihr Kommentar:

{$sComment}

{/if}

Wurde kein Kommentar eingegeben, erscheint auch keine Leerzeile.

 

Kann es sein, dass dieser Code nur dann funktioniert, wenn zwischen dem {if} und dem eigentlichen Code ein Zeichen steht?

Sprich folgender Code erzeugt bei Nichtvorhandensein eine Leerzeile:

{if $billingaddress.department}{$billingaddress.department}{/if} 

 

und folgender Code nicht?

{if $billingaddress.department}:{$billingaddress.department}{/if}

Dein Fehler ist vermutlich der Zeilenumbruch im HTML, also das „< br / >“. Wenn das nicht auch in der {if}-Anweisung steht, sondern außerhalb, erzeugst du dir natürlich immer einen Zeilenumbruch, egal ob die {if}-Anweisung erfüllt wird oder nicht.

Guter Einwand, danke. Bin HTML mäßig nicht fit, das klingt aber logisch.

Ich werde das mal testen und berichten.

Es hat geklappt!

 

Ich habe den Code für den Zeilenumbruch nun innerhalb der {if} Anweisung plaziert. Somit wird der Umbruch auch nur erstellt, wenn die Variabel asugefüllt ist.

 

Danke!