Im Kauf Testlauf wird nach Abschluss keine Bestätigungsmail an Testkunde gesendet

Ich habe einen Testkauf gemacht und nach Abschluss kommt zwar die Meldung das eine Bestätigung gesendet wird, aber diese Bestätigungsmail an Testkunde wurde nicht gesendet  / ist nicht angekommen. Der Testartikel hat einen Nettopreis von 0,10 EUR, kann es sein das alles unter 1,- EUR ein Problem darstellt?

Im Server Log steht am Kopf des Textes das Nachfolgende. Da auch etwas von cartprice dort steht die o.g. Vermutung.

[2020-06-24 15:05:35] app.ERROR: Could not render Mail-Template with error message: Failed rendering string template using Twig: Neither the property „cartPrice“ nor one of the methods „cartPrice()“, „getcartPrice()“/„iscartPrice()“/„hascartPrice()“ or „__call()“ exist and have public access in class „Shopware\Core\Checkout\Order\OrderEntity“ in „74c9cb095c7d3125bcdc9516fb83daba“ at line 18. Error Code:0 Template source:{% set currencyIsoCode = order.currency.isoCode %}

Glaube zwar nicht, dass es was mit dem Preis zu tun hat, aber das könntest du ja auch recht fix testen.

Lt. Fehlermeldung wird in deiner Bestellbestätigung eine Variable “cartPrice” verwendet, die Twig nicht kennt. Poste doch mal den Abschnitt wo das verwendet wird.

Hier mal anderer Log Text Abschnitt wo “cart” und “price” vorkommt, ist das was du meintest dabei? Was ist Twig? Relevant für das Theme?

[2020-06-24 15:05:35] app.ERROR: Could not render Mail-Template with error message: Failed rendering string template using Twig: Neither the property “cartPrice” nor one of the methods “cartPrice()”, “getcartPrice()”/“iscartPrice()”/“hascartPrice()” or “__call()” exist and have public access in class “Shopware\Core\Checkout\Order\OrderEntity” in “74c9cb095c7d3125bcdc9516fb83daba” at line 18. Error Code:0 Template source:{% set currencyIsoCode = order.currency.isoCode %} 

Hallo {{order.orderCustomer.salutation.letterName }} {{order.orderCustomer.firstName}} {{order.orderCustomer.lastName}},  vielen Dank für Ihre Bestellung im {{ salesChannel.name }} (Nummer: {{order.orderNumber}}) am {{ order.orderDateTime|date }}.  Informationen zu Ihrer Bestellung:  Pos.   Artikel-Nr.            Beschreibung            Menge            Preis            Summe {% for lineItem in order.lineItems %} {{ loop.index }}     {{ lineItem.payload.productNumber|u.wordwrap(80) }}                {{ lineItem.label|u.wordwrap(80) }}            {{ lineItem.quantity }}            {{ lineItem. unitPrice |currency(currencyIsoCode) }}            {{ lineItem. totalPric e|currency(currencyIsoCode) }} {% endfor %}  {% set delivery =order.deliveries.first %}  Versandtkosten: {{order.deliveries.first.shippingCosts.t otalPrice |currency(currencyIsoCode) }} Gesamtkosten Netto: {{ order.amountNet|currency(currencyIsoCode) }} {% if order.taxStatus is same as(‘net’) %}     {% for calculatedTax in 
order. cartPrice.calculatedTaxes %}         

zzgl. {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}     {% endfor %}     Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }} {% endif %}  
Template data:  {“order”:{“orderNumber”:"",“currencyId”:“b7d2554b0ce847cd82f3ac9bd1c0dfca”,“currencyFactor”:1,“salesChannelId”:“142888726bca4197a9f03a2241feb5be”,“billingAddressId”:“fe4ce3ae6e4148178ad23cdf21207064”,“orderDateTime”:“2020-06-24T15:05:34+00:00”,“orderDate”:“2020-06-24T00:00:00+00:00”,“price”:{“netPrice”:0.1,“totalPrice”:0.12,“calculatedTaxes”:[{“tax”:0.02,“taxRate”:19,“price”:0.1,“extensions”:}],“taxRules”:[{“taxRate”:19,“percentage”:100,“extensions”:}],“positionPrice”:0.1,“taxStatus”:“net”,“extensions”:},“amountTotal”:0.12,“amountNet”:0.1,“positionPrice”:0.1,“taxStatus”:“net”,“shippingCosts”:{“unitPrice”:0,“quantity”:1,“totalPrice”:0,“calculatedTaxes”:[{“tax”:0,“taxRate”:19,“price”:0,“extensions”:}],“taxRules”:[{“taxRate”:19,“percentage”:100,“extensions”:}],“referencePrice”:null,“listPrice”:null,“extensions”:},“shippingTotal”:0,"
 

Halt keiner das gleiche Problem festgestellt und ggf. eine Lösung gefunden?

Bin zwar noch nicht in der LIVE Phase, wäre aber ab dann ein nicht ganz nebensächliches Problem, wenn keine Bestellbestätigungen raus gehen

Hast du denn was an der Vorlage verändert?

Kann das so nicht nachvollziehen, klappt ja auch bei einigen hier im Forum.

Hallo Moritz,

nein, ich habe an der Vorlage / dem mail Template „Bestellbestätigung“  nichts verändert, außer den Verkaufskanal zugewiesen.

So sieht diese aus:

{% set currencyIsoCode = order.currency.isoCode %}
Hallo {{order.orderCustomer.salutation.letterName }} {{order.orderCustomer.firstName}} {{order.orderCustomer.lastName}},

vielen Dank für Ihre Bestellung im {{ salesChannel.name }} (Nummer: {{order.orderNumber}}) am {{ order.orderDateTime|date }}.

Informationen zu Ihrer Bestellung:

Pos.   Artikel-Nr.            Beschreibung            Menge            Preis            Summe
{% for lineItem in order.lineItems %}
{{ loop.index }}     {{ lineItem.payload.productNumber|u.wordwrap(80) }}                {{ lineItem.label|u.wordwrap(80) }}            {{ lineItem.quantity }}            {{ lineItem.unitPrice|currency(currencyIsoCode) }}            {{ lineItem.totalPrice|currency(currencyIsoCode) }}
{% endfor %}

{% set delivery =order.deliveries.first %}

Versandtkosten: {{order.deliveries.first.shippingCosts.totalPrice|currency(currencyIsoCode) }}
Gesamtkosten Netto: {{ order.amountNet|currency(currencyIsoCode) }}
{% if order.taxStatus is same as(‚net‘) %}
    {% for calculatedTax in order.cartPrice.calculatedTaxes %}
        zzgl. {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}
    {% endfor %}
    Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}
{% endif %}

Gewählte Zahlungsart: {{ order.transactions.first.paymentMethod.name }}
{{ order.transactions.first.paymentMethod.description }}

Gewählte Versandtart: {{ delivery.shippingMethod.name }}
{{ delivery.shippingMethod.description }}

{% set billingAddress = order.addresses.get(order.billingAddressId) %}
Rechnungsadresse:
{{ billingAddress.company }}
{{ billingAddress.firstName }} {{ billingAddress.lastName }}
{{ billingAddress.street }}
{{ billingAddress.zipcode }} {{ billingAddress.city }}
{{ billingAddress.country.name }}

Lieferadresse:
{{ delivery.shippingOrderAddress.company }}
{{ delivery.shippingOrderAddress.firstName }} {{ delivery.shippingOrderAddress.lastName }}
{{ delivery.shippingOrderAddress.street }}
{{ delivery.shippingOrderAddress.zipcode}} {{ delivery.shippingOrderAddress.city }}
{{ delivery.shippingOrderAddress.country.name }}

{% if billingAddress.vatId %}
Ihre Umsatzsteuer-ID: {{ billingAddress.vatId }}
Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland
bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit.
{% endif %}

Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung

Kopier dir den Inhalt doch mal weg und schreib “Hallo” rein. Dann weißt du ja schon mal ob der Inhalt das Problem ist.

1 Like

Hallo Moritz,

Danke das war es, gesagt getan, ja irgend etwas ist in dem Formulartext wohl fehlerhaft, nach Inhalt löschen und nur mit „Hallo“ gespeichert wird das auch gesendet.

Es wurde aber nichts an diesem geändert. Statt jetzt zu suchen an welcher Stelle was ursächlich ist, kannst du mir ggf. die i.d.Regel funktionierende Version mal zusenden?

Dann werde ich das nach Einkopie nochmal  testen und hoffen, das es dann nicht nur funktioniert, sondern sich nicht wie ein roter Faden durchzieht und womöglich alle oder weitere Templates betroffen sind. Ansosnsten bräuchte ich mal alles von allem, aber erstmal abwarten.

Kommen wir hier irgendwie weiter? Eine nicht funktionierende Bestellbestätigung bliebe sonst eine Baustelle.

Hallo @AB_S‍,

nachdem ich den selben Fehler hatte, habe ich etwas nachgeforscht. Die Ursache liegt im Abschnitt:

{% if order.taxStatus is same as('net') %}
    {% for calculatedTax in order.cartPrice.calculatedTaxes %}
        zzgl. {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}
    {% endfor %}
    Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}
{% endif %}

direkt unter Gesamtkosten Netto. Dieser ist veraltet, komischerweise funktioniert er in einem alten Verkaufskanal im Neuen aber nicht mehr. Es liegt wohl am Begriff cartPrice. Ich habe den Abschnitt mit der aktuellen Version ersetzt:

 {% for calculatedTax in order.price.calculatedTaxes %}
                {% if order.taxStatus is same as('net') %}zzgl.{% else %}inkl.{% endif %} {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}
            {% endfor %}
        Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}

Damit funktioniert es jetzt.

1 Like

@KMedia schrieb:

Hallo @AB_S‍,

nachdem ich den selben Fehler hatte, habe ich etwas nachgeforscht. Die Ursache liegt im Abschnitt:

{% if order.taxStatus is same as(‚net‘) %}
{% for calculatedTax in order.cartPrice.calculatedTaxes %}
zzgl. {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}
{% endfor %}
Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}
{% endif %}

direkt unter Gesamtkosten Netto. Dieser ist veraltet, komischerweise funktioniert er in einem alten Verkaufskanal im Neuen aber nicht mehr. Es liegt wohl am Begriff cartPrice. Ich habe den Abschnitt mit der aktuellen Version ersetzt:

{% for calculatedTax in order.price.calculatedTaxes %}
{% if order.taxStatus is same as(‚net‘) %}zzgl.{% else %}inkl.{% endif %} {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}
{% endfor %}
Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}

Damit funktioniert es jetzt.

Hallo,

schönen Dank für die Info und Hilfe.  Leider hat das bei mir noch nicht geholfen, irgendwo ist hier noch ein weiterer Haken versteckt gewesen. Was letztendlich geholfen hat ist die vollständige neue Einkopie in Plaintext und HTML.

Moritz von der SW AG konnte helfen, er hat den kompletten Text / Code im GitHub eingestellt. Nach kompletten neu einfügen funktioniert es jetzt mit der Bestellbestätigung.