Modul DHL-Tracking (Lite)

Thema wurde von HolgerNils (xycons.de), 26. August 2012 erstellt.

  1. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    #1 HolgerNils (xycons.de), 26. August 2012
    Zuletzt bearbeitet: 26. August 2012
    Ich war's Leid... einfach Leid.
    Dieses ständige Übertragen der DHL-Sendungsnummer in einen Kommentar um den Kunden zu informieren...
    So entstand folgende - zugegebenermassen - "Notlösung":

    Auf der Bestellungsseite entsteht ein neuer Abschnitt zur Erfassung der Sendungs-Nr
    tracking1.jpg

    Sobald hier eine Nummer eingetragen ist, wird in den Statusmails ein entsprechender Link aufbereitet für die DHL-Sendungsverfolgung
    tracking2.jpg

    Soll heissen, ist das Feld "Tracking-ID" nicht gefüllt erscheint auch kein Hinweis.
    Sobald man in Intraship die Sendung vorbereitet hat kopiert man die zugewiesene DHL-Sendungsnummer in das oben dargestellte Feld und klickt auf "ID speichern" (Nicht vergessen, erst speichern!)
    Ab diesem Zeitpunkt erscheint dann auch der Link und Hinweis in den Statusmails, also in allen, die nachfolgend versandt werden für diese Bestellung.

    Uns so kann man es dem Shop beibringen:
    (BACKUP MACHEN! Auch Du Nadja ;-)

    Auf der Datenbank folgendes SQL ausführen, welches der Tabelle "orders" das neue Feld für die Tracking-ID hinzufügt:
    Code:
    ALTER TABLE `orders` ADD `trackingcode` varchar(39) NOT NULL DEFAULT '';
    In der /admin/orders.php folgende Änderungen (Ergänzungen) durchführen:

    ca. bei Zeile 104, einfügen nach folgendem Codeblock:
    Code:
    ...
      $lang_query = xtc_db_query("select languages_id from " . TABLE_LANGUAGES . " where directory = '" . $order->info['language'] . "'");
      $lang = xtc_db_fetch_array($lang_query);
      $lang=$lang['languages_id'];
    
    //Tracking-Lite (Start)
      $track_query = xtc_db_query("select trackingcode from " . TABLE_ORDERS . " where orders_id = '".xtc_db_input($oID)."'");
      $track = xtc_db_fetch_array($track_query);
      $trackingcode=$track['trackingcode'];
    //Tracking-Lite (Ende)
    _______________________________________________

    ca. bei Zeile 195, einfügen nach folgendem Codeblock:
    _______________________________________________

    ca. bei Zeile 293, einfügen nach folgendem Codeblock:
    Code:
                ...
                    $smarty->assign('NAME', $check_status['customers_name']);
                    $smarty->assign('ORDER_NR', $oID);
                    $smarty->assign('ORDER_LINK', xtc_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id='.$oID, 'SSL'));
                    $smarty->assign('ORDER_DATE', xtc_date_long($check_status['date_purchased']));
    
                    $smarty->assign('ORDER_STATUS', $orders_status_array[$status]);
    //Tracking-Lite (Start)
                    $smarty->assign('TRACKING_ID', $trackingcode);
    //Tracking-Lite (Ende)
    _______________________________________________

    ca. bei Zeile 336, einfügen bei folgendem Codeblock:
    Code:
        ...
            xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array ('action')).'action=edit'));
            break;
    //Tracking-Lite (Start)
        case 'update_tid':
                    $oID = xtc_db_prepare_input($_GET['oID']);
            xtc_db_query("UPDATE " .TABLE_ORDERS. " SET trackingcode = '".xtc_db_prepare_input($_POST['gm_trackcode'])."' WHERE orders_id = '".xtc_db_input($oID)."'");
            $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');
            xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array ('action')).'action=edit'));
            break;
    //Tracking-Lite (Ende)
            case 'resendordermail':
            break;
    _______________________________________________

    ca. bei Zeile 1163, einfügen bei folgendem Codeblock:
    Code:
                    ...
                        // EOF GM_MOD
                        ?>
                        <!-- zmb clickandbuy end -->
    
    <!-- Tracking-Lite (Start) -->
                        <table border="0" width="100%" cellspacing="0" cellpadding="0" class="pdf_menu">
                            <tr>
                                <td class="dataTableHeadingContent" style="border-right: 0px;">
                                    <?php echo 'PAKET-TRACKING'; ?>
                                </td>
                            </tr>
                        </table>
                                            <?php echo xtc_draw_form('tracking', FILENAME_ORDERS, xtc_get_all_get_params(array('action')) . 'action=update_tid'); ?>
                        <table border="0" width="100%" cellspacing="0" cellpadding="2" class="gm_border dataTableRow"> 
                            <tr>
                                <td width="160" class="main" valign="top">
                                    <?php echo 'Tracking-ID:'; ?>
                                </td>
                                <td class="main" valign="top">
                                    <?php echo xtc_draw_input_field('gm_trackcode', $trackingcode, true); ?>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2" class="main" valign="top">
                                    <input type="submit" class="button" value="ID speichern">
                                </td>
                            </tr>
                            </form>
    <!-- Tracking-Lite (Ende) -->
    _______________________________________________

    Nun die Mailvorlagen bearbeiten, dargestellt nur GERMAN:
    /templates/EyeCandy/admin/mail/german/change_order_mail.html
    Neuer Inhalt:

    Code:
    {if $gm_logo_mail}{/if}
    <table width="100%" cellspacing="0" cellpadding="4" border="0" align="center">
        <tbody>
            <tr>
                <td style="border-color: rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204);">
                <div align="right">{$gm_logo_mail}</div>
                </td>
            </tr>
            <tr>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <strong>Sehr geehrte(r) {$NAME}, </strong><br />
                <br />
                Der Status Ihrer Bestellung vom {$ORDER_DATE} mit der Bestellnummer {$ORDER_NR} wurde geändert.<br />
                </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                Neuer Status: <strong><span style="color: rgb(255, 0, 0);"> {$ORDER_STATUS}</span></strong> </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br />
                <br />
                {if $NOTIFY_COMMENTS}<br />
                Anmerkungen/Hinweise/Kommentare zu Ihrer Bestellung:<br />
                <strong><span style="color: rgb(0, 0, 255);">{$NOTIFY_COMMENTS} </span></strong><br />
                {/if} <br />
                {if $TRACKING_ID}<br />
                <p style="color: rgb(0, 0, 0); border-width:2px; border-style:solid; padding:2px">
                DHL-Sendungsnummer: <a href="http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc={$TRACKING_ID}&rfn=&extendedSearch=true">{$TRACKING_ID}</a><br />
                Sie können Ihr Paket im Internet über folgenden Link verfolgen: <a href="http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc={$TRACKING_ID}&rfn=&extendedSearch=true">http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc={$TRACKING_ID}&rfn=&extendedSearch=true</a><br />
                Bitte beachten Sie, dass die Sendungsinformationen zeitlich versetzt im Internet erscheinen, so kann die Sendung unmittelbar nach seiner Einlieferung ggf. noch nicht zur Abfrage verfügbar sein.
                </p>
                {/if} <br />
                Bei Fragen zu Ihrer Bestellung antworten Sie bitte auf diese E-Mail. </font></td>
            </tr>
        </tbody>
    </table>
    
    _______________________________________________

    /templates/EyeCandy/admin/mail/german/change_order_mail.txt
    Neuer Inhalt:

    Code:
    Sehr geehrte(r) {$NAME},
    
    Der Status Ihrer Bestellung vom {$ORDER_DATE} mit der Bestellnummer {$ORDER_NR} wurde geändert.
    
    Neuer Status: {$ORDER_STATUS}
    
    
    {if $NOTIFY_COMMENTS}
    Anmerkungen und Kommentare zu Ihrer Bestellung: {$NOTIFY_COMMENTS}
    {/if}
    
    {if $TRACKING_ID}
    DHL-Sendungsnummer: {$TRACKING_ID}
    Sie können Ihr Paket im Internet über folgenden Link verfolgen: http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc={$TRACKING_ID}&rfn=&extendedSearch=true
    Bitte beachten Sie, dass die Sendungsinformationen zeitlich versetzt im Internet erscheinen, so kann die Sendung unmittelbar nach seiner Einlieferung ggf. noch nicht zur Abfrage verfügbar sein.
    {/if} 
    
    Bei Fragen zu Ihrer Bestellung antworten Sie bitte auf diese E-Mail.
    _______________________________________________

    Fettich !
    Cache löschen kommt immer gut ;-)

    Have Fun wer's brauchen kann und wem es eine Hilfe ist.
     
  2. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    #2 HolgerNils (xycons.de), 26. August 2012
    Zuletzt bearbeitet: 26. August 2012
    Und wer noch einen direkten Link auf das T&T von DHL in den Kopfdaten der Bestellung haben möchte, so dass bei klicken die entsprechende Trackingseite aufgeht...

    tracking3.jpg

    ..ändert die /admin/orders.php nochmals ab:
    ca. Zeile 541 (nachdem alles andere hinzugefügt wurde, sonst weiter oben von der Zeilenzahl her...)
    Code:
                            <?php if ( $order->customer['cIP']!='') { ?>
                            <tr>
                                <td width="80" class="main gm_strong" valign="top">
                                    <?php echo IP; ?>
                                </td>
                                <td colspan="5" class="main" valign="top">
                                    <?php echo $order->customer['cIP']; ?>
                                </td>
                            </tr>
                            <?php } ?>
    
    <!-- Tracking-Lite (Start) -->
                            <?php if ( $track['trackingcode']!='') { ?>
                            <tr>
                                <td width="80" class="main gm_strong" valign="top">
                                    <?php echo 'Track-ID'; ?>
                                </td>
                                <td colspan="5" class="main" valign="top">
                                    <?php echo '<a href="http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc='.$track['trackingcode'].'&rfn=&extendedSearch=true" target="_blank">'.$track['trackingcode'].'</a>'; ?>
                                </td>
                            </tr>
                            <?php } ?>
    <!-- Tracking-Lite (Ende) -->
    
     
  3. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    Einer geht noch...
    Wer jetzt noch Lust hat weiter zu ändern kann den Link auch gleich in die Voransicht einbauen:

    tracking4.jpg

    Hier geklickt öffnet sich wiederum das T&T von DHL.

    Folgende Ergänzung:
    /admin/orders.php
    ca. Zeile 1550 (nach Einfügung der vorangegangenen Ergänzungen...)

    Code:
                    if (xtc_not_null($oInfo->last_modified))
                        $contents[] = array ('text' => TEXT_DATE_ORDER_LAST_MODIFIED.' '.xtc_date_short($oInfo->last_modified));
    // RG in Voransicht (Start)
                                    $contents[] = array ('text' => 'Rechnung: ' .$oInfo->gm_orders_code);
    // RG in Voransicht (Ende)
    //Tracking-Lite (Start)
                                    $track_query = xtc_db_query("select trackingcode from " . TABLE_ORDERS . " where orders_id = '".$oInfo->orders_id."'");
                                    $track = xtc_db_fetch_array($track_query);
                                    $trackingcode=$track['trackingcode'];
                                    $contents[] = array ('text' => 'Track-ID: ' .'<a href="http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&idc='.$track['trackingcode'].'&rfn=&extendedSearch=true" target="_blank">'.$track['trackingcode'].'</a>');
    //Tracking-Lite (Ende)
                    $contents[] = array ('text' => '<br />'.TEXT_INFO_PAYMENT_METHOD.' '.$oInfo->payment_method);
    
     
  4. Danny
    Danny Erfahrener Benutzer
    Registriert seit:
    17. Juni 2011
    Beiträge:
    1.398
    Danke erhalten:
    179
    Danke vergeben:
    213
    Hi Holger,

    habe das ganze nun mal in meine Testumgebung eingebaut. Funktioniert soweit auch sehr gut und ich kann keine weiteren Probleme mehr entdecken. (DB mit varchar 12 auf 39 hast Du ja bereits behoben)
     
  5. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    Hi Ho,
    ja, in unserem Echt-Shop wurde ich stutzig, als ich die 20-stellige ID bekam ;-) und mir die 12 wieder einfiel...
    Max. 39 Stellen derzeit lt. DHL, ist jetzt drin.
     
  6. NK76530
    NK76530 Erfahrener Benutzer
    Registriert seit:
    21. April 2012
    Beiträge:
    682
    Danke erhalten:
    27
    Danke vergeben:
    152
    moin holger, da ist ja schon das nächste! wow!
    backup ist logo.
    deb sql ausführen schaffe ich auch....den rest.....schauen wir mal ;)
    kennst mich ja mittlerweile.....*bibber* sobalds ans eingemachte geht.

    glg
     
  7. Walter Lenk
    Walter Lenk Erfahrener Benutzer
    Registriert seit:
    28. September 2011
    Beiträge:
    623
    Danke erhalten:
    300
    Danke vergeben:
    113
    Tolle Beschreibung, sehr viel Mühe gegeben! Exakt so haben wir dies auch mal bei einem Kunden im Vorgängershopsystem umgesetzt.

    Viele Grüße
    Walter
     
  8. Manuel
    Manuel Erfahrener Benutzer
    Registriert seit:
    26. Mai 2011
    Beiträge:
    238
    Danke erhalten:
    18
    Danke vergeben:
    12
    Super Lösung, doch warum hast du nicht einfach das fertige Track&Trace Modul von xtc:load genommen? ;-)
    Wir haben das schon lange erfolgreich im Einsatz.
    Von Einbau und Umsetzung her ist es aber im Grunde genau wie deine Lösung.
     
  9. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    Wenn der FTP noch funzt hau ich's Dir gerne rein in den Shop :)
     
  10. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    Hatte mir mehrere angeschaut und dann doch selbst gemacht. Nu weiss ich wo alles ist, hab da noch Ideen...
     
  11. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Ich verwende seit paar Monaten auch das Track and Trace da es mehrere Versandarten bietet. Damit kann ich UPS, GLS und Abholbereit Nachrichten versenden mit entsprechenden Texten.
    Bisher keine Probleme und ich weiß auch wo der Code steckt.

    Aber dennoch Hut ab vor der Arbeit die du dir gemacht hast.
     
  12. NK76530
    NK76530 Erfahrener Benutzer
    Registriert seit:
    21. April 2012
    Beiträge:
    682
    Danke erhalten:
    27
    Danke vergeben:
    152
    #12 NK76530, 27. August 2012
    Zuletzt bearbeitet: 27. August 2012
    der ftp funzt wieder ;)

    aber NUR, wenn du Zeit hast!

    backups gemacht :D

    in der mailvorlage reicht bei mir die TRACKING Nummer (ohne bla bla) - ich sende DHL, GLS, ETC - somit würde ich VOR die Nummer den entsprechenden Dienstleister mit Hand hinschreiben. Einen Link brauche ich dann nicht noch, denn dann senden ja eh die ganzen Shipper noch eine Tracking-Mail an den Empfänger.

    Danke ;))))
     
  13. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    So, ist drin ;-)
    Probier bitte mal aus mit einer Test- oder eigenen Order.
    SQL für die DB haste ja abgesetzt... hoffe ich.
     
  14. NK76530
    NK76530 Erfahrener Benutzer
    Registriert seit:
    21. April 2012
    Beiträge:
    682
    Danke erhalten:
    27
    Danke vergeben:
    152
    SUPER!!!!

    Habs auf D und E ausprobiert - genial!

    DANKE HOLGER!!!!!!!!!!!!!
     
  15. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    Gern ;-)
    Have Fun!
     
  16. Bianka Hoffmann
    Bianka Hoffmann Mitglied
    Registriert seit:
    28. Oktober 2011
    Beiträge:
    5
    Danke erhalten:
    0
    Hallo Leute, super Sache.. kann jemand bestätigen, dass diese Modifizierung auch mit Gambio GX2 in Version v2.0.10g r6545 funktioniert ?
     
  17. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
    yupp, geht
     
  18. jens
    jens Erfahrener Benutzer
    Registriert seit:
    28. Juni 2011
    Beiträge:
    424
    Danke erhalten:
    17
    Danke vergeben:
    132
    Klasse Lösung werd ich mir wahrscheinlich einbauen.
    Das was mich noch abhält, ist wenn ich das richtig sehe das ganze nicht updatesicher ist und nach jedem Shop-update ich danach schauen muß.

    Aber ansonsten finde ich es super und sag vielen Dank!
     
  19. HolgerNils (xycons.de)
    HolgerNils (xycons.de) G-WARD 2013/2014
    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.998
    Danke erhalten:
    498
    Danke vergeben:
    377
  20. Bianka Hoffmann
    Bianka Hoffmann Mitglied
    Registriert seit:
    28. Oktober 2011
    Beiträge:
    5
    Danke erhalten:
    0
    #20 Bianka Hoffmann, 15. Oktober 2012
    Zuletzt bearbeitet: 15. Oktober 2012
    Hallo, wie ich denke hast du das in dein Gambio GX2 laufen, ich habe folgendes Problem:
    Ich habe mich nach der Anleitung gehalten und ich kann unter Bestellung im Adminberech auch die entsprechenden Paketnummer eingeben, aber in der E-Mail zum Kunden wird weder die Nummer noch die Vorlage (also der reine Text) verschickt.. woran kann das liegen ?
    SQL-Befehl auch ausgeführt


    //edit ich habe diese erweiterungen genommen und installiert, darauf bezieht sich auch mein Problem
    http://www.xtc-load.de/2008/08/sendungsverfolgung-track-and-trace/