Variablenchaos bei E-Mails - Zahlungsart - Keine Bestätigungsmail - Lösung

Hier mal meine Probleme mit Variablen in E-Mails und deren Lösung, die vielleicht dem einen oder anderen bei seinen Problemen helfen. Ich nutze Shopware Version 6.4.17.2

Von Haus aus ist in der Bestellbestätigungsmail für z.B. die Versandart eingetragen:
{{ delivery.shippingMethod.translated.name }}
Dabei wird aber weder in der Vorschau noch in der Testmail im Backend etwas an der Position angezeigt. Nur in der Bestellbestätigungsmail vom Shop funktioniert es.

Trägt man die entsprechende Variable über die Variablenautomatik direkt im Text ein, ergibt das:
{{ order.deliveries[0].shippingMethod.name }}
Hier funktioniert die Ausgabe in der Vorschau und der Testmail vom Backend, aber dafür wird jetzt die Bestellbestätigungsmail vom Shop nicht mehr versendet. :-1:

Trägt man die enstprechende Variable aus der Variablenliste (am rechten Rand auf „</>“ klicken) ein, ergibt das:
{{ order.deliveries.at(0).shippingMethod.name }}
Hier funktioniert die Ausgabe in Vorschau und Testmail im Backend und auch die Bestellbestätigungsmail vom Shop wird versendet. Halleluja! :+1:

Nun wollte ich dem Kunden auch die von ihm ausgewählte Zahlungsart in der Bestätigung mitteilen. Auch das klappte ausschließlich mit der Variable aus der Variablenliste:
{{ order.transactions.at(0).paymentMethod.name }}

Alles andere führte dazu, dass die Mail vom Shop nicht versendet wurde, auch wenn die Testmail im Backend problemlos funktionierte, was irgendwie den Sinn so einer Testmail ad adsurdum führt.

Das sind meine Erfahrungen in Version 6.4.17.2
Vielleicht hilft es dem einen oder anderen, der die gleichen Probleme mit Variablen in seiner Shopware 6 Installation hat. Keine Ahnung was sich die Entwickler dabei gedacht haben.

Hallo Ichbins,

ganz herzlichen Dank - wir haben uns bei Shopware bei 6.4.17.2 jetzt auch 3 Tage den Kopf zerbrochen, weshalb unsere Bestätigungsmail nicht mehr funktioniert hat …

Die Mehrwertsteuervariable hat das ganze Ding zerschossen / Dank den Tips konnten wir dann von der vorgegebenen Variable:
{{order.price.calculatedTaxes.0.tax}} - geht nicht

auf diese Version umbasteln:
{{order.price.calculatedTaxes.at(0).tax} - funktioniert

Ganz offensichtlich haben wir bei der ganzen Probiererei unser template zerschossen:

Haben wir hier die Schleife falsch, oder liegt das auch an irgendwelchen Variablen → Im Ergbebnis wird bei allen Artikeln, die korrekte Art. Nr. aber der Preis, die Menge, Gesamtpreis vom 1. Artikel angezeigt?

Danke ans Forum für eine Hilfe
Liebe Grüsse

{% for lineItem in order.lineItems %}


<tr>                                                              
      </tr>
      <td rowspan="6" style="border-bottom:1px solid #FFF;"><img style="height: 57px;" height="57" src="{{ searchMedia([lineItem.coverId], context).first()|sw_encode_media_url }}" alt="{{lineItem.label}}" /></td>
<tr>
	  <td colspan="5" style="border-bottom:1px solid #cccccc;"> <strong>{{lineItem.label}}</strong></td>       
	  </tr>
<tr>
	  <td colspan="2"><strong>Art.Nr.</strong></td>
	  <td>{{lineItem.payload.productNumber}}</td>
	  </tr>	  
<tr>
	  <td colspan="2"><strong>Menge</strong></td>
	  <td>{{order.lineItems.at(0).quantity}}</td>
	  </tr>
<tr>
	  <td colspan="2"><strong>Preis</strong></td>
	  <td>{{lineItem.unitPrice }}</td>
	  </tr>
<tr>
	  <td colspan="2"><strong>Summe</strong></td>
	  <td>{{order.lineItems.at(0).totalPrice }}</td>
      <tr/>
<tr>                                  
       <td colspan="5" style="border-bottom:15px solid #FFF;"></td>           
      </tr>              
<tr>                                  
       <td colspan="5" style="border-bottom:2px solid #cccccc;"></td>           
      </tr>                    

{% endfor %}
  </table>