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?
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:
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.
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.