wir versenden per DHL Paket sowie per DPD Paket und haben unsere HTML Mitteilung versucht anzupassen, damit entsprechend dem Dienstleister auch die URL und Anzahl der Pakete in der E-Mail ausgegeben wird.
Der Code sieht derzeitig wie folgt aus:
{include file="string:{config name=emailheaderhtml}"}
Hallo {$sUser.billing_salutation|salutation} {$sUser.billing_firstname} {$sUser.billing_lastname},
der Bestellstatus Ihrer Bestellung {$sOrder.ordernumber} hat sich geändert.
Die Bestellung hat jetzt den Status: {$sOrder.status_description}.
Die Sendungsverfolgung per {$sDispatch.name} {$sDispatch.description} können Sie hier einsehen:
{assign var='Paket' value=1}
{assign var='Tracking' value=','|explode:{$sOrder.trackingcode}}
{foreach $Tracking as $temp}
Link zu Paket {$Paket}: {$temp}
{assign var='Paket' value={$Paket+1}}
{/foreach}
{if $sDispatch.name == DHL Paket}
Sendungsverfolgung: https://nolp.dhl.de/nextt-online-public/de/search?piececode={$sOrder.trackingcode}
{else if $sDispatch.name == DPD Paket}
Sendungsverfolgung: https://tracking.dpd.de/parcelstatus?query={$sOrder.trackingcode}
{else}
Es ist keine Sendungsverfolgung möglich
{/if}
Den aktuellen Status Ihrer Bestellung können Sie auch jederzeit auf unserer Webseite im Bereich "Mein Konto" - "Meine Bestellungen" abrufen.
Sollten Sie allerdings den Kauf ohne Registrierung, also ohne Anlage eines Kundenkontos, gewählt haben, steht Ihnen diese Möglichkeit leider nicht zur Verfügung.
{include file="string:{config name=emailfooterhtml}"}
Bei der Testemail erhalten wir folgenden Errorcode aus dem Log:
Die E-Mail konnte nicht versendet werden. Fehlermeldung: Syntax Error 68" on line 20 "{if $sDispatch.name == DHL Paket}" too many shorthand attributes
Wie können wir die Mail richtig formatieren und nutzen?
Wie kann ich es denn hin bekommen, dass die Zweite oder die weiteren Pakete bzw. die Tracking-ID nicht direkt an die URL vom ersten mit angehangen wird.
bitte mal die foreach anzeigen lassen und zählen. Ein öffnendes und zwei schließende Tags funktioniert halt unter keinen Umständen.
Habe die Vorlage so aufgebaut:
{include file="string:{config name=emailheaderhtml}"}
Hallo {$sUser.billing_salutation|salutation} {$sUser.billing_firstname}
{$sUser.billing_lastname},
der Bestellstatus Ihrer Bestellung {$sOrder.ordernumber} hat sich
geändert.
Die Bestellung hat jetzt den Status: {$sOrder.status_description}.
Die Sendungsverfolgung per {$sDispatch.name} können Sie hier einsehen:
{assign var=';Paket'; value=1}
{assign var=';Tracking'; value=';,';|explode:{$sOrder.trackingcode}}
{foreach $Tracking as $temp}
Link zu Paket {$Paket}:
{assign var=';Paket'; value={$Paket+1}}
{if $sDispatch.name == "DHL Paket"}
https://nolp.dhl.de/nextt-online-public/de/search?piececode=;{$temp}
{else if $sDispatch.name == "DPD Paket"}
https://tracking.dpd.de/parcelstatus?query=;{$temp}
{else if $sDispatch.name == "DPD Paket Österreich"}
Sendungsverfolgung:
https://tracking.dpd.de/parcelstatus?query={$sOrder.trackingcode}
{/if}
{if $sDispatch.name != "DHL Paket" && $sDispatch.name != "DPD Paket"}
Es ist keine Sendungsverfolgung möglich
{/if}
{/foreach}
Den aktuellen Status Ihrer Bestellung können Sie auch jederzeit auf unserer
Webseite im Bereich "Mein Konto" - "Meine Bestellungen"
abrufen.
Sollten Sie allerdings den Kauf ohne Registrierung, also ohne Anlage eines
Kundenkontos, gewählt haben, steht Ihnen diese Möglichkeit leider nicht zur
Verfügung.
{include file="string:{config name=emailfooterhtml}"}
Erhalte dann folgende Meldung:
Beim Speichern der Bestellung 199432 ist ein Fehler aufgetreten. Syntax Error 52" on line 12 "{assign var=';Paket'; value=1}" - Unexpected ";", expected one of: "}" , " " , ATTR
Ok, also lauffähig ohne die Auflistung habe ich es jetzt so:
{include file="string:{config name=emailheaderhtml}"}
Hallo {$sUser.billing_salutation|salutation} {$sUser.billing_firstname}
{$sUser.billing_lastname},
der Bestellstatus Ihrer Bestellung {$sOrder.ordernumber} hat sich
geändert.
Die Bestellung hat jetzt den Status: {$sOrder.status_description}.
Die Sendungsverfolgung per {$sDispatch.name} können Sie hier einsehen:
{assign var='Paket' value=1}
{assign var='Tracking' value=','|explode:{$sOrder.trackingcode}}
{foreach $Tracking as $temp}
Link zu Paket {$Paket}: {$temp}
{assign var='Paket' value={$Paket+1}}
{/foreach}
{if $sDispatch.name == "DHL Paket"}
Sendungsverfolgung:
https://nolp.dhl.de/nextt-online-public/de/search?piececode={$sOrder.trackingcode}
{else if $sDispatch.name == "DPD Paket"}
Sendungsverfolgung:
https://tracking.dpd.de/parcelstatus?query={$sOrder.trackingcode}
{else if $sDispatch.name == "DPD Paket Österreich"}
Sendungsverfolgung:
https://tracking.dpd.de/parcelstatus?query={$sOrder.trackingcode}
{else}
Es ist keine Sendungsverfolgung möglich
{/if}
Den aktuellen Status Ihrer Bestellung können Sie auch jederzeit auf unserer
Webseite im Bereich "Mein Konto" - "Meine Bestellungen"
abrufen.
Sollten Sie allerdings den Kauf ohne Registrierung, also ohne Anlage eines
Kundenkontos, gewählt haben, steht Ihnen diese Möglichkeit leider nicht zur
Verfügung.
{include file="string:{config name=emailfooterhtml}"}
Wie bekomme ich die IDs wenn es mehrere Sind untereinander gelistet?
ok wie kann ich denn dem System sagen sobald mehrere IDs mit „,“ getrennd sind, sind es mehrere Pakete.
Eigentlich macht das System es ja schon, sobald ich beim Tracking Code z.B. „123456, 123457“ eingebe stellt der diese hinterinander da.
Das ist aber nicht mein Ziel, sondern dass dann Code 1 mit Link vom entsprechenden Dienleister davor gesezt wird.
Deins ist ja jetzt auch MischMasch
Was wäre denn Dein Trennzeichen? Obiges ist für ,
Sendungsverfolgung:
{assign var='Paket' value=1}
{assign var='Tracking' value=','|explode:{$sOrder.trackingcode}}
{foreach $Tracking as $temp}
{if $sDispatch.name == "DHL Paket"}
Link zum DHL-Paket {$Paket}: https://nolp.dhl.de/nextt-online-public/de/search?piececode=$temp
{else if $sDispatch.name == "DPD Paket"}
Link zum DPD-Paket {$Paket}: https://tracking.dpd.de/parcelstatus?query=$temp
{else}
Es liegen keine Sendungsinformationen zu diesem Paket vor.
{/if}
{assign var='Paket' value={$Paket+1}}
{/foreach}
Oder So:
Sendungsverfolgung:
{if $sDispatch.name == "DHL Paket"}
{assign var='lnkBaseUrl' value='https://nolp.dhl.de/nextt-online-public/de/search?piececode='}
{else if $sDispatch.name == "DPD Paket"}
{assign var='lnkBaseUrl' value='https://tracking.dpd.de/parcelstatus?query='}
{/if}
{assign var='Paket' value=0}
{if $lnkBaseUrl}
{assign var='Tracking' value=','|explode:{$sOrder.trackingcode}}
{foreach $Tracking as $temp}
{assign var='Paket' value={$Paket+1}}
Link zu Paket {$Paket}: {$lnkBaseUrl}{$temp}
{/foreach}
{/if}
{if $Paket==0}
Es liegen keine Sendungsinformationen zu Ihrer Bestellung vor
{/if}
Passend zu diesem Thema habe ich unter diesem Thread mal meine HTML Email Vorlage reingesetzt als Beispiel. Aber nur wenn man nicht wie in diesem Thread verschiedene Paketdienste nutzt, sondern nur DHL. Aber für mehrere Pakete bzw. Trackingnummern.
Hab hierzu eine Frage, wie bekomme ich es hin das bei mehreren Versanddienstleistern auch der Link bei der Sendungsnummer angezeigt wird?
So sieht es bei mir derzeit aus ( funktioniert aber halt ohne Link )
Die Sendungsverfolgung per {$sDispatch.name} können Sie hier einsehen:
{if $sDispatch.name == "Standard Versand, Standard Lieferung, Express, meineinkauf.ch"}
Sendungsverfolgung: {$sOrder.trackingcode}
{elseif $sDispatch.name == "EURO I, EURO II, EURO III, EURO IV"}
Sendungsverfolgung: {$sOrder.trackingcode}
{/if}
{assign var='Paket' value=0}
{assign var='Tracking' value=','|explode:{$sOrder.trackingcode}}
{foreach $Tracking as $temp}
{assign var='Paket' value={$Paket+1}}
Paket {$Paket}: {$temp}
{/foreach}