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

Thread Tools Display Modes
Old 10-29-2008, 12: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 = "" 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
Old 10-29-2008, 07:18 PM
teebo + teebo is offline
Interspire Customer
Join Date: Oct 2008
Posts: 125

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




Ofcourse you would replace the x's with your number

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

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/

and look for

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

HTML Code:
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
Reply With Quote
Old 01-04-2009, 07:01 PM
Pete + Pete is offline
Interspire Customer
Join Date: May 2008
Posts: 227

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
Old 01-10-2009, 12:51 AM
Posts: n/a


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

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/
  3. Navigate to the GetTrackingLink call-back function, in the fedex module its around line 504.
  4. Change line 506 to:
    • PHP Code:
      return "" $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.

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


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

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

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