ich habe ja die Möglichkeit bei einer Bestellung eine Sendungsverfolgungsnummer anzugeben. Ich möchte nun in der Versandbestätigungsemail an den Kunden diese Nummer (inkl.) Link natürlich auch anzeigen. (Natürlich nur, wenn ich eine Tracking-Nummer eingetragen habe) Hat das schon jemand umgesetzt?
In Shopware5 gab es hier in der Doku eine Schritt für Schritt Anleitung. In SW6 komme ich einfach nicht weiter.
Hej,
Danke. Leider nicht. Ich weiß nicht wie ich das E-Mail Template bearbeiten muss, mir fehlt quasi im E-Mail Template die Variable für Link und Sendungsnummer.
Und dann bräuchte ich noch eine if Abfrage, sodass diese Information nur eingetragen ist, wenn ich eine Sendungsnummer eingetragen habe.
{% for delivery in order.deliveries %}
{% for trackingCode in delivery.getTrackingCodes() %}
{% if trackingCode is not empty %}
{% set urlTemplate = delivery.getShippingMethod().getTrackingUrl() %}
{% set urlEncodedCode = trackingCode|escape('url')|raw %}
Mit Ihrer Sendungs-Nr. {{ trackingCode }} können Sie den Weg Ihres Paketes verfolgen.
{% endif %}
{% endfor %}
{% endfor %}
Das Problem mit nicht versendeten E-Mails hatte ich auch sehr lange. Erstmal absolut sicher gehen, dass es wirklich an diesen Zeilen liegt, schaut nämlich erstmal nicht verkehrt aus finde ich. ;)
Hab mir direkt noch die if-Abfrage eingebaut (ob die wirklich nötig ist weiß ich gar nicht - aber funktioniert)
In deiner URL fehlt noch ein {{ trackingCode }} dann funktioniert es. Damit das ganze mal entwirrt wird nochmal zusammengefasst wie es funktioniert:
Dieser Code kommt in die Mailvorlage:
{% for delivery in order.deliveries %}
{% for trackingCode in delivery.getTrackingCodes() %}
{% set urlTemplate = delivery.getShippingMethod().getTrackingUrl() %}
{% set urlEncodedCode = trackingCode|escape('url')|raw %}
Den Status ihrer Sendung können sie mit der Sendungsnummer {{ trackingCode }} verfolgen.
{% endfor %}
{% endfor %}
und dieser Link kommt in die Versandart unter Tracking-URL:
Dies hier sollte klappen, sofern die Tracking URL hinterlegt ist:
Track your shipments using this/these link(s):
{% for delivery in order.deliveries %}
{% for trackingCode in delivery.getTrackingCodes() %}
{% set urlTemplate = delivery.getShippingMethod().getTrackingUrl() %}
{% set urlEncodedCode = trackingCode|escape('url')|raw %}
{{ urlTemplate|format(trackingCode) }}
{% endfor %}
{% endfor %}
Ich würde gerne auf Basis der Trackingnummer zwischen drei Versanddienstleistern unterscheiden. Dies ist mein Code, der aber nicht funktioniert.
Er soll sagen: Wenn der TrackingCode mit XXXX anfängt, dann soll er die URL des ersten Dienstleisters verwenden, wenn YYYY dann DL2 und wenn ZZZZ, dann URL von DL3.
Wo ist der Fehler?
{% for delivery in order.deliveries %}
{% for trackingCode in delivery.getTrackingCodes() %}
{% if trackingCode is not empty %}
{% if trackingCode in delivery.getTrackingCodes() starts with 'XXXX' %}
<a href="https:/dienstleister.1.de/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a>
{%- elseif trackingCode in delivery.getTrackingCodes() starts with 'YYYY' %}
<a href="https://www.dienstleister.2.de/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a>
{%- elseif trackingCode in delivery.getTrackingCodes() starts with 'ZZZZ' %}
<a href="https://dienstleister.3.de/{{ trackingCode }}">Sendungsverfolgung: {{ trackingCode }}</a>
{%- endif -%}
{% endfor %}
{% endfor %}
Hallo, gibt es hier mittlerweile einen Code, der funktioniert? Ich würde auch gerne auf Basis der Trackingnnummer zwischen zwei Versanddienstleistern unterscheiden und wäre über eine Lösung sehr dankbar.