BigCommerce - Hosted Ecommerce Software by Interspire

Interspire Forum

 
Go Back   Interspire Forum > Interspire Shopping Cart Community Forum > Customization and Integration > Code Modification and Addon Releases

Reply
 
Thread Tools Display Modes
  #1  
Old 10-29-2008, 01:53 AM
charlie.foxtrot + charlie.foxtrot is offline
Interspire Customer
 
Join Date: Oct 2008
Posts: 322
Default Clickable UPS Tracking Number

NOTE: This works for ISC 4.0 and if you ONLY use USPS for your shipments.

1) Make backup copies of everything you change.
2) Load the following file into your editor: /templates/YOURTEMPLATE/Snippets/AccountOrderStatusItem.html

3) At (or near) line 20 you'll see the following code:

HTML Code:
%%LNG_OrderTrackingNoIs%% <strong><em>%%GLOBAL_OrderTrackingNo%%</em></strong>
4 Change it to the following:

HTML Code:
%%LNG_OrderTrackingNoIs%% <strong><em><a href = "http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?origTrackNum=%%GLOBAL_OrderTrackingNo%%" target = "_track">%%GLOBAL_OrderTrackingNo%%</a></em></strong>
5) Save your work and upload it to the server

AGAIN... if you do not use USPS exclusively, or if you use a carrier OTHER than USPS, this hack will not work.

Good luck
Reply With Quote
  #2  
Old 10-29-2008, 08:18 PM
teebo + teebo is offline
Interspire Customer
 
Join Date: Oct 2008
Posts: 125
Default

Good tip, I used this for other carriers as well. Although with a bit of neat javascript im sure you can code something which shows you the link depending on carrier, but since I use ups 99% of the time we adopted it as well. If any code gurus wanna code something up be my guest

dhl
---

http://track.dhl-usa.com/TrackByNbr....entNumber=xxxx

ups
---

http://wwwapps.ups.com/WebTracking/p...tracknum=xxxxx


fedex
---

http://www.fedex.com/Tracking?action...cknumbers=xxxx


Ofcourse you would replace the x's with your number

Last edited by teebo; 10-29-2008 at 09:55 PM..
Reply With Quote
  #3  
Old 01-04-2009, 07:29 PM
novista + novista is offline
Interspire Customer
 
Join Date: Nov 2008
Posts: 331
Default

Alternatively, you should be able to implement a tracking link with tracking number for each of your shippers by editing the appropriate ISC shipping module. For example, say you ship via UPS.

1. Open /modules/shipping/module.ups.php

and look for

PHP Code:
public function GetTrackingLink() 
2. Change the tracking link just below this code to be

HTML Code:
http://wwwapps.ups.com/WebTracking/processRequest?&tracknum=
Then, edit /templates/YOURTEMPLATE/Snippets/AccountOrderStatusItem.html Around line 24, you'll see

HTML Code:
<a href="%%GLOBAL_TrackURL%%#" target="_blank">%%LNG_ClickHereToTrackYourOrder%%</a>
Change this to be

HTML Code:
<a href="%%GLOBAL_TrackURL%%%%GLOBAL_OrderTrackingNo%%" target="_blank">%%LNG_ClickHereToTrackYourOrder%%</a>
I've tried this for UPS and Fedex and its working fine. I strongly recommend that you test the URL you'll need in your country before implementing this. Many of the carriers have other variables in their URL such as language, country etc. The URL I used is based on a USA shipper and I stripped out as many of the variables as possible.

Also, keep in mind that the shipping modules are outside of the templates. This means that when you upgrade the cart, you will most likely have to manually replace the old module with the new one then re-implement the modifications. Well worth it I think from a customer service standpoint. Hopefully Interspire will implemement something link this permanently in a future release.
__________________
Michael Kopel
NovistaWeb.com
Reply With Quote
  #4  
Old 01-04-2009, 08:01 PM
Pete + Pete is offline
Interspire Customer
 
Join Date: May 2008
Posts: 227
Default

Yup - would make more sense to be able to enter a URL format in the shipping section of the admin area on a per-shipping-method basis so you could use custom shiip-by-weight methods and enter your own link structure.

Having said that you've got a good solution there for the majority of built in modules in the meantime!
Reply With Quote
  #5  
Old 01-10-2009, 01:51 AM
julian1828
Guest
 
Posts: n/a
Cool

Quote:
GetTrackingLink

Returns: String containing the tracking link for this item.

If a shipping module supports tracking shipped packages online, GetTracking link should return the URL to the tracking service to be shown on the “Order Status” page on the front end of the store.
Quote from http://idn.interspire.com/articles/3...#doc_callbacks

When dealing with these shipping modules I would stray away from editing the template files for changing those files is a kind of global change, in regards to the shipping methods. This is usually not desired for most people are using multiple shipping carriers/methods. Each shipping module contains a call-back called "GetTrackingLink". This call back is just suppose to return a full URL. The URL will most likely be the link that a user can click on and take them to the tracking website. For this explanation I will use the Fedex shipping module to show this hack.
  1. Always backup before changing any files.
  2. Open the shipping module class file, in this case SHOP_PATH + /modules/shipping/fedex/module.fedex.php
  3. Navigate to the GetTrackingLink call-back function, in the fedex module its around line 504.
  4. Change line 506 to:
    • PHP Code:
      return "http://www.fedex.com/Tracking?action=track&tracknumbers=" $GLOBALS["OrderTrackingNo"]; 
  5. Save and upload the newly edited shipping module.

Please note that you can adapt this method to any shipping method. Just know that $GLOBALS["OrderTrackingNo"] contains the tracking number for the current order.

Hope this helps.

Julian
Reply With Quote
  #6  
Old 01-14-2009, 01:35 AM
teebo + teebo is offline
Interspire Customer
 
Join Date: Oct 2008
Posts: 125
Default

Julian,

What does this do?
Reply With Quote
  #7  
Old 01-14-2009, 11:11 AM
manian + manian is offline
Interspire Customer
 
Join Date: Jun 2008
Location: Australia
Posts: 111
Default

What Julian is suggesting is to alter the code to include a tracking number on a 'per module' basis within the assigned GetTrackingLink() function, rather than altering the template to suit.

It's a slightly more robust solution that won't break when/if you update a template. Similarly, should your shipping provider change their tracking link it will generally be easier to edit.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump