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 Sobald hier eine Nummer eingetragen ist, wird in den Statusmails ein entsprechender Link aufbereitet für die DHL-Sendungsverfolgung 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.
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... ..ä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) -->
Einer geht noch... Wer jetzt noch Lust hat weiter zu ändern kann den Link auch gleich in die Voransicht einbauen: 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);
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)
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.
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
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
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.
Hatte mir mehrere angeschaut und dann doch selbst gemacht. Nu weiss ich wo alles ist, hab da noch Ideen...
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.
der ftp funzt wieder aber NUR, wenn du Zeit hast! backups gemacht 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 )))
So, ist drin ;-) Probier bitte mal aus mit einer Test- oder eigenen Order. SQL für die DB haste ja abgesetzt... hoffe ich.
Hallo Leute, super Sache.. kann jemand bestätigen, dass diese Modifizierung auch mit Gambio GX2 in Version v2.0.10g r6545 funktioniert ?
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!
Halber Irrtum, Jens. Dank Avenger updatesicher einbaubar ;-) http://www.gambio-forum.de/threads/6573-Endlich-updatesichere-%C3%84nderung-auch-von-PHP-Programmen
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/