Erneuter Versand (Paket kam zurück): Neue Sendungsnummer hinzugefügt - nur diese in eMail ausgeben?

Thema wurde von tannenhof_imshausen, 3. November 2023 erstellt.

  1. tannenhof_imshausen
    tannenhof_imshausen Erfahrener Benutzer
    Registriert seit:
    26. Oktober 2022
    Beiträge:
    119
    Danke erhalten:
    36
    Danke vergeben:
    49
    Hallo,

    Kunde hatte seinen Namen falsch geschrieben, Paket kam als nicht zustellbar zurück. Jetzt nochmaliger Versand mit korrekter Adresse. Beim Hinzufügen der neuen Sendungsnummer zur Bestellung habe ich als Sendungstyp den Text „2. Versandversuch“ eingegeben.

    Wenn ich jetzt den Status wieder auf Versendet ändere und den Kunden benachrichtigen möchte und die Sendungsnummern mitsenden, wie bekomme ich in der eMail nur die aktuelle Sendungsnummer angezeigt und nicht auch nochmal die alte??

    Ist der Sendungstyp mit Smarty in der eMail abfragbar?
     
  2. MWVAT
    MWVAT Erfahrener Benutzer
    Registriert seit:
    25. Mai 2011
    Beiträge:
    164
    Danke erhalten:
    48
    Danke vergeben:
    11
    Also ich habe das Problem an Gambio schon gesendet, da wir auch hin und wieder 2. Lieferungen, Teillieferungen, usw. dann ausliefern - leider sagte man bei Gambio, man müsse die erste Sendungsnummer löschen, da immer nur die erste hinzugefügte mitgesendet wird.
     
  3. tannenhof_imshausen
    tannenhof_imshausen Erfahrener Benutzer
    Registriert seit:
    26. Oktober 2022
    Beiträge:
    119
    Danke erhalten:
    36
    Danke vergeben:
    49
    Also, der Sendungstyp scheint standardmäßig leider nicht mit Smarty in der eMail zur Verfügung zu stehen. Deshalb habe ich mir folgendes überlegt: Bei der ursprünglichen Sendungsnummer ändere ich den sogenannten ServiceComment, das ist die Spalte comment in der Tabelle orders_parcel_tracking_codes, zu „fehlgeschlagen“.

    In der eMail-Vorlage Admin: Änderung Bestellstatus habe ich dann an den Anfang folgenden Code gesetzt:
    PHP:
    {if $PARCEL_TRACKING_CODES_ARRAY && $PARCEL_TRACKING_CODES}
       {foreach 
    name=aussen item=PARCEL_TRACKING_CODE from=$PARCEL_TRACKING_CODES_ARRAY}
          {if 
    $PARCEL_TRACKING_CODE->getServiceComment()=='fehlgeschlagen'
             {
    assign var="erneuterVersand" value=true} {break} 
          {/if}
       {/foreach}
    {/if}
    Dann kann ich z.B. beim Status Versendet schreiben:

    PHP:
    {if $ORDER_STATUS == 'Versendet' or $ORDER_STATUS == 'versandt' }
    Deine Bestellung {$ORDER_NRhaben wir 
    {if $NOTIFY_COMMENTS|trim|strstr:'GESTERN'}gestern{else}heute{/if}
     {if 
    $erneuterVersand}erneut{/if} 
    versandtsie wird in den nächsten Tagen bei Dir ankommen.{/if}
    Und bei der foreach-Schleife mit den Sendungsnummern dann folgendes:
    PHP:
    {foreach name=aussen item=PARCEL_TRACKING_CODE from=$PARCEL_TRACKING_CODES_ARRAY}
       {if 
    $PARCEL_TRACKING_CODE->getServiceComment()=='fehlgeschlagen'
          {continue} 
       {/if}
       {
    $PARCEL_TRACKING_CODE->getTrackingCode()} ({$PARCEL_TRACKING_CODE->getServiceName()}):    {$PARCEL_TRACKING_CODE->getServiceUrl()}
       {
    $PARCEL_TRACKING_CODE->getServiceComment()}

    {/foreach}
    Und voilà: Jetzt wird nur noch die aktuelle Sendungsnummer ausgegeben, der Kunde auf den erneuten Versand hingewiesen und die ursprüngliche Sendungsnummer ist zu Dokumentationszwecken immer noch vorhanden.