|
|||
|
Wir wollen unseren Kunden ein wenig mehr Komfort bieten, indem wir ihnen einen Link zur Verfolgung ihrer Sendung in der Best?tigungs-eMail anbieten.
In unserem Beispiel ist das der Versand per Post AG (DHL). Um das zu erreichen sind einige ?nderungen notwendig (gleichzeitig haben wir die Status-eMail wesentlich aussagef?higer gemacht, die waren doch etwas d?rftig, und viel mehr Informationen verf?gbar!) Da das vielleicht allgemein von Interesse ist, hier die notwendigen ?nderungen. Modul admin/orders.php ================================================== == Code:
$check_status_query = xtc_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . xtc_db_input($oID) . "'");
Code:
// W. Kaiser #Erlaube Sendungstracking
$check_status_query = xtc_db_query("select customers_name, customers_email_address, customers_postcode, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . xtc_db_input($oID) . "'");
// W. Kaiser #Erlaube Sendungstracking
Code:
$smarty->assign('ORDER_STATUS',$orders_status_array[$status]);
Code:
// W. Kaiser #Erlaube Sendungstracking
$smarty->assign('SHIP_DATE',date('l, j F Y H:i'));
$home_link=str_replace('admin/','',xtc_href_link(FILENAME_CUSTOMER_DEFAULT, '','NONSSL',false));
$smarty->assign('HOME_LINK', $home_link);
if ($status == 3) {
//Status "Versendet"
//Get Sendungscode
$TrackCode = $_POST['trackcode'];
if ($TrackCode == '') {
$TrackCode = $_GET['trackcode'];
}
if ($TrackCode != '') {
$TrackCode = xtc_db_prepare_input($TrackCode);
//Assign smarty Variable for tracking URL
$TrackURL=str_replace('#',$TrackCode,TRACKURL);
$TrackURL=str_replace('@',$check_status['customers_postcode'],$TrackURL);
$smarty->assign('TRACK_URL',$TrackURL);
}
}
// W. Kaiser #Erlaube Sendungstracking
Code:
<td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo xtc_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>
Code:
<td class="main">
<b><?php echo ENTRY_STATUS; ?></b> <?php echo xtc_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?>
<!--W. Kaiser #Erlaube Sendungstracking -->
<br><b><?php echo ENTRY_TRACKCODE.":"; ?></b> <?php echo xtc_draw_input_field('trackcode', '', 'size=30');?> <?php echo "(".ENTRY_TRACKCODE." f?r die Sendungsverfolgung)"; ?><br>
<!--W. Kaiser #Erlaube Sendungstracking -->
</td>
================================================== ================================================== ======= Modul admin/includes/application_top.php Nach Code:
define('FILENAME_DEFAULT', 'start.php');
Code:
// W. Kaiser #Erlaube Sendungstracking
define('FILENAME_CUSTOMER_DEFAULT', 'index.php');
// W. Kaiser #Erlaube Sendungstracking
================================================== ================================================== ======= Modul lang/german/admin/orders.php Nach Code:
define('ENTRY_STATUS', 'Status:');
Code:
// W. Kaiser #Erlaube Sendungstracking
define('ENTRY_TRACKCODE', 'Sendungscode');
define('STATUS_SENT', 'Versendet');
// 'TRACKURL' #Hier muss die Tracking-URL des Versenders stehen.
// Tracking Beispiel DHL (POST AG)
// An der Stelle, an der der Sendungscode steht, muss das Zeichen # als Platzhalter stehen!
// An der Stelle, an der die Empf?nger-PLZ steht, muss das Zeichen @ als Platzhalter stehen!
define('TRACKURL', 'http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&zip=@&idc=#');
// W. Kaiser #Erlaube Sendungstracking
================================================== ================================================== ======= Modul templates/xxxxxx/admin/mail/german/change_order_mail.html Code:
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0">
<tr>
<td style="border-bottom: 1px solid; border-color: #cccccc;"><div align="right">
<font color="#800000"><a href="{$HOME_LINK}">
<img src="{$logo_path}logo.gif" align="middle" border="0"></a></font></div></td>
</tr>
<tr>
<td><strong>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">
Ihre Bestellung Nr. {$ORDER_NR} vom {$ORDER_DATE}.</font></strong><p>
<strong style="font-weight: 400">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">Hallo {$NAME},</font></strong></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{if
$ORDER_STATUS == 'Versendet'}</font></p>
<p>
<b>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">
Ihre Bestellung wurde am {$SHIP_DATE} versendet.</font></b></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">
{if $TRACK_URL}</font></p><p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<font color="#800000">Den <b>Weg Ihrer
Sendung</b> k?nnen Sie </font> <b><a href="{$TRACK_URL}">
<font color="#800000">hier</font></a></b><font color="#800000"> verfolgen.</font></font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{/if}{else}</font></p>
<p>
<b>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">
Die Bearbeitung Ihrer Bestellung wurde am {$SHIP_DATE} begonnen.</font></b></p>
<p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">{/if}
</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{if $NOTIFY_COMMENTS}</font></p>
<p><b>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">Anmerkungen und Kommentare zu Ihrer Bestellung:</font></b></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{$NOTIFY_COMMENTS}
</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">
{/if}</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{if $ORDER_LINK}</font></p><p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<font color="#800000">Ihre Bestellung k?nnen Sie </font> <b>
<a href="{$ORDER_LINK}"><font color="#800000">hier</font></a></b><font color="#800000"> einsehen.</font></font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{/if}
</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000"><b>Bei Fragen zu Ihrer Bestellung antworten Sie bitte auf diese eMail.</b> </font></td>
</tr>
</table>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">
Ihr </font><font color="#800000"><a href="{$HOME_LINK}">
<img src="{$logo_path}logo.gif" align="middle" border="0"></a> Team</font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">
</font></p>
Wenn nun also der Bestell-Status auf "Versendet" gesetzt wird, und man in das neue Feld "Sendungscode" einen Tracking-Code eingibt, dann wird in der Best?tigungs-eMail an den Kunden ein Link zur Sendungsverfolgung eingebaut. Verwendung auf eigene Gefahr! Wie immer gilt: die Originalroutinen vorher unbdedingt sichern!!! |
|
|||
|
Wir haben das noch einmal erweitert, jetzt wird der Tracking Code in der Datenbank gespeichert und im "Bestellungen"-Formular angezeigt.
================================================== ====================== Wir wollen unseren Kunden ein wenig mehr Komfort bieten, indem wir ihnen einen Link zur Verfolgung ihrer Sendung in der Best?tigungs-eMail anbieten. Die meisten Versender bieten heute eine Online-Sendungsverfolgung an, so dass man sich das f?r einen professionellen Auftritt zu Nutze machen kann. (In unserem Beispiel ist das der Versand per Post AG (DHL).) Das Bestellungen-Formular im Admin-Bereich wird um ein Feld erweitert, in das man (optional) den f?r eine Sendung vom Versender vergebenen Sendungscode eintragen kann. Wenn der Order-Status auf "Versendet" ge?ndert wird, dann wird dieser Code in der Datenbank gespeichert, und als Variable f?r das eMail-Template f?r die Status-?nderungen bereit gestellt. Um das zu erreichen sind einige ?nderungen notwendig (gleichzeitig haben wir die Status-eMail wesentlich aussagef?higer gemacht, die waren doch etwas d?rftig, und es sind auch viel mehr Informationen verf?gbar!) ================================================== ================================================== ============================= Neu gegen?ber der ersten Version: Der Tracking-Code wir jetzt auch in der Datenbank gespeichert ================================================== Modul Datenbank ================================================== == Mit phpMyAdmin folgenden SQL-Befehl ausf?hren Code:
ALTER TABLE orders ADD orders_trackcode varchar(32) Modul admin/orders.php ================================================== == Code:
$check_status_query = xtc_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . xtc_db_input($oID) . "'");
Code:
// W. Kaiser #Erlaube Sendungstracking
$check_status_query = xtc_db_query("select customers_name, customers_email_address, customers_postcode, orders_status, orders_trackcode, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . xtc_db_input($oID) . "'");
// W. Kaiser #Erlaube Sendungstracking
Code:
$smarty->assign('ORDER_STATUS',$orders_status_array[$status]);
Code:
// W. Kaiser #Erlaube Sendungstracking
$smarty->assign('SHIP_DATE',date('l, j F Y H:i'));
$home_link=str_replace('admin/','',xtc_href_link(FILENAME_CUSTOMER_DEFAULT, '','NONSSL',false));
$smarty->assign('HOME_LINK', $home_link);
if ($status == 3) {
//Status "Versendet"
//Get Sendungscode
$TrackCode = $_POST['trackcode'];
if ($TrackCode == '') {
$TrackCode = $_GET['trackcode'];
}
if ($TrackCode != '') {
$TrackCode = xtc_db_prepare_input($TrackCode);
//Store Track-Code ind order
xtc_db_query("update " . TABLE_ORDERS . " set orders_trackcode = '" .$TrackCode . "' where orders_id = '" . xtc_db_input($oID) . "'");
//Assign smarty Variable for tracking URL
$TrackURL=str_replace('#',$TrackCode,TRACKURL);
$TrackURL=str_replace('@',$check_status['customers_postcode'],$TrackURL);
$smarty->assign('TRACK_URL',$TrackURL);
}
}
// W. Kaiser #Erlaube Sendungstracking
Code:
<td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo xtc_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>
Code:
<!--W. Kaiser #Erlaube Sendungstracking -->
<tr>
<td class="main"><br><b><?php echo ENTRY_TRACKCODE.":"; ?></b>
<?php
//Auslesen Trackcode
$check_status_query = xtc_db_query("select orders_trackcode from " . TABLE_ORDERS . " where orders_id = '" . xtc_db_input($oID) . "'");
$check_status = xtc_db_fetch_array($check_status_query);
echo xtc_draw_input_field('trackcode', $check_status['orders_trackcode'], 'size=30'); ?><?php echo "(".ENTRY_TRACKCODE." f?r die Sendungsverfolgung)";
?>
<br><br>
</td>
</tr>
<!--W. Kaiser #Erlaube Sendungstracking -->
================================================== ================================================== ======= Modul admin/includes/application_top.php Nach Code:
define('FILENAME_DEFAULT', 'start.php');
Code:
// W. Kaiser #Erlaube Sendungstracking
define('FILENAME_CUSTOMER_DEFAULT', 'index.php');
// W. Kaiser #Erlaube Sendungstracking
================================================== ================================================== ======= Modul lang/german/admin/orders.php Nach Code:
define('ENTRY_STATUS', 'Status:');
Code:
// W. Kaiser #Erlaube Sendungstracking
define('ENTRY_TRACKCODE', 'Sendungscode');
define('STATUS_SENT', 'Versendet');
// 'TRACKURL' #Hier muss die Tracking-URL des Versenders stehen.
// Tracking Beispiel DHL (POST AG)
// An der Stelle, an der der Sendungscode steht, muss das Zeichen # als Platzhalter stehen!
// An der Stelle, an der die Empf?nger-PLZ steht, muss das Zeichen @ als Platzhalter stehen!
define('TRACKURL', 'http://nolp.dhl.de/nextt-online-public/set_identcodes.do?lang=de&zip=@&idc=#');
// W. Kaiser #Erlaube Sendungstracking
================================================== ================================================== ======= Modul templates/xxxxxx/admin/mail/german/change_order_mail.html Code:
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0">
<tr>
<td style="border-bottom: 1px solid; border-color: #cccccc;"><div align="right">
<font color="#800000"><a href="{$HOME_LINK}">
<img src="{$logo_path}logo.gif" align="middle" border="0"></a></font></div></td>
</tr>
<tr>
<td><strong>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">
Ihre Bestellung Nr. {$ORDER_NR} vom {$ORDER_DATE}.</font></strong><p>
<strong style="font-weight: 400">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">Hallo {$NAME},</font></strong></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{if
$ORDER_STATUS == 'Versendet'}</font></p>
<p>
<b>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">
Ihre Bestellung wurde am {$SHIP_DATE} versendet.</font></b></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">
{if $TRACK_URL}</font></p><p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<font color="#800000">Den <b>Weg Ihrer
Sendung</b> k?nnen Sie </font> <b><a href="{$TRACK_URL}">
<font color="#800000">hier</font></a></b><font color="#800000"> verfolgen.</font></font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{/if}{else}</font></p>
<p>
<b>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">
Die Bearbeitung Ihrer Bestellung wurde am {$SHIP_DATE} begonnen.</font></b></p>
<p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">{/if}
</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{if $NOTIFY_COMMENTS}</font></p>
<p><b>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">Anmerkungen und Kommentare zu Ihrer Bestellung:</font></b></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{$NOTIFY_COMMENTS}
</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">
{/if}</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{if $ORDER_LINK}</font></p><p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<font color="#800000">Ihre Bestellung k?nnen Sie </font> <b>
<a href="{$ORDER_LINK}"><font color="#800000">hier</font></a></b><font color="#800000"> einsehen.</font></font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{/if}
</font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000"><b>Bei Fragen zu Ihrer Bestellung antworten Sie bitte auf diese eMail.</b> </font></td>
</tr>
</table>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">
Ihr </font><font color="#800000"><a href="{$HOME_LINK}">
<img src="{$logo_path}logo.gif" align="middle" border="0"></a> Team</font><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#800000">
</font></p>
Wenn nun also der Bestell-Status auf "Versendet" gesetzt wird, und man in das neue Feld "Sendungscode" einen Tracking-Code eingibt, dann wird in der Best?tigungs-eMail an den Kunden ein Link zur Sendungsverfolgung eingebaut. Verwendung auf eigene Gefahr! Wie immer gilt: die Originalroutinen vorher unbdedingt sichern!!! |
|
|||
|
Hallo,
kann mir keiner weiterhelfen? Ich finde die Idee gut, diePaketnummer im Adminbereich eingeben zu k?nnen. Da wir ?ber GLS versenden, m?chte ich diese Paketnunmer in der Mail f?r den Kunden anzeigen lassen. Gru? Harry |
|
|||
|
Habs selbst mal ein wenig versucht.
Bekomme es aber nicht hin :-( Ich m?chte eigentlich die Variante von gswkaiser anpassen f?r GLS. Dies k?nnte wie folgt aussehen:
Ich schaffe es leider nicht :-( Gru? Harry |
|
|||
|
Hallo,
sorry, dann habe ich was falsch verstanden. Ich dachte, in Version 2 wird die URL zusammengesetzt aus
http://www.gls-germany.com/online/paketstatus.php3 Oder kann die Paketnummer hier auch ?ber die URL aufgerufen werden? Wie gesagt, hier reichen meine php-Kenntnisse nicht aus :-) In Deiner - sehr guten !! - Benachrichtigungsmail wird die Paketnummer nicht angezeigt. M??te hier daf?r nicht noch eine Erweiterung f?r das Anzeigen von 'orders_trackcode' rein? Code:
...
{if $TRACK_URL}</font></p><p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<font color="#800000">Den <b>Weg Ihrer
Sendung</b> k?nnen Sie </font> <b><a href="{$TRACK_URL}">
<font color="#800000">hier</font></a></b><font color="#800000"> verfolgen.</font></font></p>
<p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#800000">{/if}{else}</font></p>
...
Harry |
|
|||
|
Wenn Du folgende URL verwendest, kannst Du gleich die Info des Paketes sehen!
Code:
http://www.gls-germany.com/online/paketstatus.php3?search.x=49&paketliste[0]=12345678901 D.h., Du m?sstest in meiner Erweiterung die "TRACKURL" wie folgt definieren, um einen direkten Link auf das Paket zu erhalten: Code:
define('TRACKURL', 'http://www.gls-germany.com/online/paketstatus.php3?search.x=49&paketliste[0]=#');
Wenn Du dennoch die Paket-Nummer mit in der eMail ausgeben willst, dann ist folgendes notwendig: Nach Code:
$smarty->assign('TRACK_URL',$TrackURL);
Code:
$smarty->assign('TRACK_CODE',$TrackCode);
?ber {$TRACK_CODE} kann diese dann in das Template eingebaut werden. |
![]() |
| Lesezeichen |
| Stichworte |
| bestellstatusnde, link, sendungsverfolgung |
| Themen-Optionen | |
| Ansicht | |
|
|