Wouldn't It Be Nice To See The Current Shipment Details From Admin Area?

If I want to see if a package has been delivered, I click on order #, then I click "shipments", then I click Shipment ID #, then I copy the tracking # and paste that on FEDEX website.

I do all this just to see if package has been delivered.

Is there an easier way??

I could not find any add ons.

It would be nice if, at least, the tracking number would be available as a link in the order detail page or even in the "shipments" area.

Only a suggestion :mrgreen:

We need to convince Tony to update is Parcel Tracking add-on... We had in on previous versions and it was awesome.

https://ez-ms.com/parcel-tracking.html

It would be nice to have shipment status within CS-Cart for both customer as staff.

It is very "carrier specific" and became a maintenance nightmare (especially USPS). I only did 2 carriers (UPS and USPS) in the old Parcel Tracking module. FedEx was a pain and I never even looked at what it would take to do all the various carriers around the world.

Happy to attempt this on a custom code basis. But doing it as a production addon was a loosing proposition.

If I want to see if a package has been delivered, I click on order #, then I click "shipments", then I click Shipment ID #, then I copy the tracking # and paste that on FEDEX website.

I do all this just to see if package has been delivered.

Is there an easier way??

I could not find any add ons.

It would be nice if, at least, the tracking number would be available as a link in the order detail page or even in the "shipments" area.

Only a suggestion :mrgreen:

I agree with you on this 100% , even better shipments tracking #'s should be visible and clickable on the order detail page instead of going to 3 pages to get to them and also have the ability to edit the tracking # if you make a typo mistake.

I have implemented a work around where the tracking # is clickable in the shipments page, it is not a pretty mod but it works, may be someone can pickup on this and make an addon out of it

You will need to create few tpl files in /design/backend/templates/common

I only use UPS and USPS so I created the files for these carriers , you can easily add other carriers

Create : /design/backend/templates/common/track_ups.tpl

Place this Code in this file:

{if $shipment.tracking_number|strlen >0}
   
   {$shipment.tracking_number}
   
 {/if}

Create File: /design/backend/templates/common/track_usps.tpl

Place this Code in this File:

{if $shipment.tracking_number|strlen >0}
   
   {$shipment.tracking_number}
   
 {/if}

Create File in: /design/backend/templates/common/shipvia.tpl

Place this code in this file:

{foreach from=$order_info.shipping item="shipping" key="shipping_id" name="f_shipp"}

{if $shipment.carrier == ‘ups’}

{include file=“common/track_ups.tpl”}
{/if}
{if $shipment.carrier == ‘usps’}
{include file=“common/track_usps.tpl”}
{/if}


{/foreach}

The last thing you need to modify this file:

/design/backend/templates/views/shipments/details.tpl

around line 51

change it to look like this:

__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} {include file="common/shipvia.tpl"}{/if}{if $shipment.carrier}

If you use other carriers, just make the file for each and add the include file in the shipvia.tpl file

I know this is not pretty but I hope it will help.

Joe

I agree with you on this 100% , even better shipments tracking #'s should be visible and clickable on the order detail page instead of going to 3 pages to get to them and also have the ability to edit the tracking # if you make a typo mistake.

I have implemented a work around where the tracking # is clickable in the shipments page, it is not a pretty mod but it works, may be someone can pickup on this and make an addon out of it

You will need to create few tpl files in /design/backend/templates/common

I only use UPS and USPS so I created the files for these carriers , you can easily add other carriers

Create : /design/backend/templates/common/track_ups.tpl

Place this Code in this file:

{if $shipment.tracking_number|strlen >0}
   
   {$shipment.tracking_number}
   
 {/if}

Create File: /design/backend/templates/common/track_usps.tpl

Place this Code in this File:

{if $shipment.tracking_number|strlen >0}
   
   {$shipment.tracking_number}
   
 {/if}

Create File in: /design/backend/templates/common/shipvia.tpl

Place this code in this file:

{foreach from=$order_info.shipping item="shipping" key="shipping_id" name="f_shipp"}

{if $shipment.carrier == ‘ups’}

{include file=“common/track_ups.tpl”}
{/if}
{if $shipment.carrier == ‘usps’}
{include file=“common/track_usps.tpl”}
{/if}


{/foreach}

The last thing you need to modify this file:

/design/backend/templates/views/shipments/details.tpl

around line 51

change it to look like this:

__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} {include file="common/shipvia.tpl"}{/if}{if $shipment.carrier}

If you use other carriers, just make the file for each and add the include file in the shipvia.tpl file

I know this is not pretty but I hope it will help.

Joe

Thanks a ton Joe, this helps a lot. Way better than copy and pasting all day..

CS Cart should implement somethign like this. Saves a lot of work.

You can use the standard info. Insert these lines:

                        {assign var="shipments" value=['order_id' => $order_info.order_id, 'advanced_info' => true]|fn_get_shipments_info}
                        {if $shipments}
                        {assign var="shipments" value=$shipments|reset}
                        
{foreach from=$shipments item="shipment"} {include file="common/carriers.tpl" capture=true carrier=$shipment.carrier}

{__("shipment")} #{$shipment.shipment_id} {__("on")} {$shipment.shipment_timestamp|date_format:"`$settings.Appearance.date_format`"}
{__("by")} {$shipment.shipping}
{if $shipment.tracking_number} ({$shipment.tracking_number}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

{/foreach}
{/if}

inside the {foreach from=$order_info.shipping item="shipping" key="shipping_id" name="f_shipp"}, before closing {/foreach} in the design/backend/templates/orders/views/details.tpl file

Or to any place in this file

Thanks for the info

FedEx has a desktop widget that tells you where all your shipments are, both outgoing and incoming.

Jack

I will update my mod above to show the shipments tracking #'s on the order detail page where you can click on it and track it.

You can use the standard info. Insert these lines:

                        {assign var="shipments" value=['order_id' => $order_info.order_id, 'advanced_info' => true]|fn_get_shipments_info}
                        {if $shipments}
                        {assign var="shipments" value=$shipments|reset}
                        
{foreach from=$shipments item="shipment"} {include file="common/carriers.tpl" capture=true carrier=$shipment.carrier}

{__("shipment")} #{$shipment.shipment_id} {__("on")} {$shipment.shipment_timestamp|date_format:"`$settings.Appearance.date_format`"}
{__("by")} {$shipment.shipping}
{if $shipment.tracking_number} ({$shipment.tracking_number}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

{/foreach}
{/if}

inside the {foreach from=$order_info.shipping item="shipping" key="shipping_id" name="f_shipp"}, before closing {/foreach} in the design/backend/orders/views/details.tpl file

Or to any place in this file

I can not find design/backend/orders/views/details.tpl file

The orders folder does not exist where you say.

I can not find design/backend/orders/views/details.tpl file

The orders folder does not exist where you say.

Try this path: design/backend/templates/views/orders

The full path is:

CSCART_ROOT/design/backend/templates/views/orders/views/details.tpl

I can not find design/backend/orders/views/details.tpl file

The orders folder does not exist where you say.

Yes, I missed the templates folder. Please use design/backend/templates/orders/views/details.tpl

This puts teh

You can use the standard info. Insert these lines:

                        {assign var="shipments" value=['order_id' => $order_info.order_id, 'advanced_info' => true]|fn_get_shipments_info}
                        {if $shipments}
                        {assign var="shipments" value=$shipments|reset}
                        
{foreach from=$shipments item="shipment"} {include file="common/carriers.tpl" capture=true carrier=$shipment.carrier}

{__("shipment")} #{$shipment.shipment_id} {__("on")} {$shipment.shipment_timestamp|date_format:"`$settings.Appearance.date_format`"}
{__("by")} {$shipment.shipping}
{if $shipment.tracking_number} ({$shipment.tracking_number}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

{/foreach}
{/if}

inside the {foreach from=$order_info.shipping item="shipping" key="shipping_id" name="f_shipp"}, before closing {/foreach} in the design/backend/templates/orders/views/details.tpl file

Or to any place in this file

This puts the shipping / tracking number on the order details page. But would it be possible to have that tracking number clickable.

This puts the shipping / tracking number on the order details page.  But would it be possible to have that tracking number clickable.

No. The tracking number will be just displayed.

This puts the shipping / tracking number on the order details page. But would it be possible to have that tracking number clickable.

Try to replace:

{__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} ({$shipment.tracking_number}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

with

{if $shipment.tracking_number}
{if $shipment.carrier == "usps"}
    {$url = "https://tools.usps.com/go/TrackConfirmAction_input?strOrigTrackNum=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "ups"}
    {$url = "http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "fedex"}
    {$url = "http://fedex.com/Tracking?action=track&tracknumbers=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "aup"}
    {$url = "http://auspost.com.au/track/track.html?id=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "can"}
    {$url = "http://www.canadapost.com/cpotools/apps/track/personal/findByTrackNumber?trackingNumber=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "dhl" || $shipping.carrier == "ARB"}
    {$url = "http://www.dhl-usa.com/en/express/tracking.shtml?ShipmentNumber=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "swisspost"}
    {$url = "http://www.post.ch/swisspost-tracking?formattedParcelCodes=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "temando"}
    {$url = "https://temando.com/education-centre/support/track-your-item?token=`$shipment.tracking_number`"}
{else}
    {$url = ""}
{/if}
{/if}
{__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} ({if $url}{/if}{$shipment.tracking_number}{if $url}{/if}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

Try to replace:

{__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} ({$shipment.tracking_number}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

with

{if $shipment.tracking_number}
{if $shipment.carrier == "usps"}
    {$url = "https://tools.usps.com/go/TrackConfirmAction_input?strOrigTrackNum=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "ups"}
    {$url = "http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "fedex"}
    {$url = "http://fedex.com/Tracking?action=track&tracknumbers=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "aup"}
    {$url = "http://auspost.com.au/track/track.html?id=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "can"}
    {$url = "http://www.canadapost.com/cpotools/apps/track/personal/findByTrackNumber?trackingNumber=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "dhl" || $shipping.carrier == "ARB"}
    {$url = "http://www.dhl-usa.com/en/express/tracking.shtml?ShipmentNumber=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "swisspost"}
    {$url = "http://www.post.ch/swisspost-tracking?formattedParcelCodes=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "temando"}
    {$url = "https://temando.com/education-centre/support/track-your-item?token=`$shipment.tracking_number`"}
{else}
    {$url = ""}
{/if}
{/if}
{__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} ({if $url}{/if}{$shipment.tracking_number}{if $url}{/if}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

Thanks eComLabs.. Works Great...

Try to replace:

{__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} ({$shipment.tracking_number}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

with

{if $shipment.tracking_number}
{if $shipment.carrier == "usps"}
    {$url = "https://tools.usps.com/go/TrackConfirmAction_input?strOrigTrackNum=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "ups"}
    {$url = "http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "fedex"}
    {$url = "http://fedex.com/Tracking?action=track&tracknumbers=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "aup"}
    {$url = "http://auspost.com.au/track/track.html?id=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "can"}
    {$url = "http://www.canadapost.com/cpotools/apps/track/personal/findByTrackNumber?trackingNumber=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "dhl" || $shipping.carrier == "ARB"}
    {$url = "http://www.dhl-usa.com/en/express/tracking.shtml?ShipmentNumber=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "swisspost"}
    {$url = "http://www.post.ch/swisspost-tracking?formattedParcelCodes=`$shipment.tracking_number`"}
{elseif $shipment.carrier == "temando"}
    {$url = "https://temando.com/education-centre/support/track-your-item?token=`$shipment.tracking_number`"}
{else}
    {$url = ""}
{/if}
{/if}
{__("by")} {$shipment.shipping} 
{if $shipment.tracking_number} ({if $url}{/if}{$shipment.tracking_number}{if $url}{/if}){/if}{if $shipment.carrier} ({$smarty.capture.carrier_name|trim nofilter}){/if}

What do I have to add to your URL structure so that a new tab / window is opened when clicking the tracking link.? I tried adding the

target="_blank"

but that didn't work..

Thanks again for your help. This a major time saver...