# TWIG-Abfragen in Mailtemplate

**URL:** <https://forum.shopware.com/t/twig-abfragen-in-mailtemplate/90267>\
**Category:** Shopware 6 (German)\
**Created:** [12. September 2021 um 07:15 UTC](https://forum.shopware.com/t/twig-abfragen-in-mailtemplate/90267 "2021-09-12T07:15:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![KompendiumHistologie](https://avatars.discourse-cdn.com/v4/letter/k/f0a364/32.png) [@KompendiumHistologie](https://forum.shopware.com/u/KompendiumHistologie)\
**Post date:** [12. September 2021 um 07:16 UTC](https://forum.shopware.com/t/twig-abfragen-in-mailtemplate/90267/1 "2021-09-12T07:16:00Z")

</div>

Hallo zusammen,

ich würde gerne in der Bestellbestätigung eine TWIG-Abfrage einbauen, die den Firmennamen und die additionalAddressLine1 nur ausgibt, wenn eine Firma oder Zusatzangabe eingetragen wurde und sonst diese Information einfach überspringt.

Unter Shopware 6.1.4 habe ich das so gelöst:  
{% if delivery.shippingOrderAddress.additionalAddressLine1 %}  
{{ delivery.shippingOrderAddress.additionalAddressLine1 }}  
  
{% endif %}

Diese Abfrage auch mit geändertem Parameter führt jetzt dazu, dass keine Mail mehr versendet wird:  
{% if billingAddress.additionalAddressLine1 %}  
{{ billingAddress.additionalAddressLine1 }}  
  
{% endif %}

Ich gehe also davon aus, dass die TWIG-Abfrage nicht korrekt ist. Ohne die if-Abfrage wird die Information korrekt ausgegeben, wenn eine Firma eingetragen ist. Der Parameter ist somit wohl korrekt. Ist keine Firma eingetragen, ist in der Mail nur eine leere Zeile, was ich unschön finde.

Weiß jemand, wie ich die TWIG-Abfrage modifizieren muss, damit die Firma etc. nur ausgegeben wird, wenn sie auch eingetragen ist?

---

<div class="post-metadata">

**Author:** ![FlorianHoltgrefe](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/florianholtgrefe/32/22532_2.png) [@FlorianHoltgrefe](https://forum.shopware.com/u/FlorianHoltgrefe)\
**Post date:** [13. September 2021 um 06:02 UTC](https://forum.shopware.com/t/twig-abfragen-in-mailtemplate/90267/2 "2021-09-13T06:02:32Z")

</div>

Hallo @KompendiumHistologie,

du musst die Variablen nicht mit einer IF-Abfrage im E-Mail Template kontrollieren, wenn die kein Wert haben, wird nichts ausgegeben. Wichtig ist das du die Variable setzt, wie dies auch im Standard-Template der Fall ist:

```auto
{% set billingAddress = order.addresses.get(order.billingAddressId) %}

```

Viele Grüße aus Schöppingen  
Florian

---

<div class="post-metadata">

**Author:** ![KompendiumHistologie](https://avatars.discourse-cdn.com/v4/letter/k/f0a364/32.png) [@KompendiumHistologie](https://forum.shopware.com/u/KompendiumHistologie)\
**Post date:** [14. September 2021 um 19:09 UTC](https://forum.shopware.com/t/twig-abfragen-in-mailtemplate/90267/3 "2021-09-14T19:09:28Z")

</div>

Hallo Florian,

vielen Dank für die Rückmeldung. Ich habe den Block nur um wenige Zeilen erweitert, damit alle eingegebenen Informationen in der Anmeldung aus ausgegeben werden:  
{% set billingAddress = order.addresses.get(order.billingAddressId) %}  
Rechnungsadresse:  
{{ billingAddress.company }}  
{{ billingAddress.department }}  
{{ billingAddress.firstName }} {{ billingAddress.lastName }}  
{{ billingAddress.additionalAddressLine1 }}  
{{ billingAddress.street }}  
{{ billingAddress.zipcode }} {{ billingAddress.city }}  
{{ billingAddress.country.translated.name }}

Das funktioniert auch gut, wenn alles angegeben wird z.B.  
Musterfirma  
Musterabteilung  
Max Mustermann  
Etage 3  
Musterstraße 123  
12345 Musterstadt  
Musterland

Wenn aber Dinge nicht eingegeben werden, dann entsteht ein Lückentext:  
_Leerzeile_  
_Leerzeile_  
Max Mustermann  
_Leerzeile_  
Musterstraße 123  
12345 Musterstadt  
Musterland

Die leeren Informationen ergeben dann leeren Zeilen. Ich würde gerne die dann einfach in der Ausgabe überspringen, damit dann das entsteht:  
Max Mustermann  
Musterstraße 123  
12345 Musterstadt  
Musterland

Daher hatte dann jede nicht verpflichtende Zeile eine Abfrage, ob da was steht. Das geht jetzt aber nicht mehr, weil meine Abfrage offenbar falsch ist:  
_{% if billingAddress.additionalAddressLine1 %}_ {{ billingAddress.additionalAddressLine1 }} _{% endif %}_

Oder geht das so nicht mehr?

---

<div class="post-metadata">

**Author:** ![dominikmank](https://avatars.discourse-cdn.com/v4/letter/d/c77e96/32.png) [@dominikmank](https://forum.shopware.com/u/dominikmank)\
**Post date:** [14. September 2021 um 19:14 UTC](https://forum.shopware.com/t/twig-abfragen-in-mailtemplate/90267/4 "2021-09-14T19:14:29Z")

</div>

Versuch mal dein Glück damit [Twig for Template Designers - Documentation - Twig - The flexible, fast, and secure PHP template engine](https://twig.symfony.com/doc/2.x/templates.html#templates-whitespace-control) 🙂 (hab ich jetzt nicht ausgetestet, sollte aber funktionieren)
