Skip to main content

Tracking # custom field not working after update

More
10 years 5 months ago #235042 by deuce4884
-- HikaShop version -- : 2.6.1
-- Joomla version -- : 3.5.0
-- PHP version -- : 5.3.24

I have created a custom field for the order table for tracking numbers.



Once I had an item ready to ship I would take the tracking number and edit the appropriate order in the back end by adding the tracking number into the field. I then had my order status notification email where it would add this tracking number when the status was shipped. Here is my html version of the email
Code:
<?php /** * @package HikaShop for Joomla! * @version 2.5.0 * @author hikashop.com * @copyright (C) 2010-2015 HIKARI SOFTWARE. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><style type="text/css"> body.hikashop_mail { background-color:#ffffff; color:#000; } .ReadMsgBody{width:100%;} .ExternalClass{width:100%;} div, p, a, li, td {-webkit-text-size-adjust:none;} @media (min-width:600px){ #hikashop_mail {width:600px !important;margin:auto !important;} .pict img {max-width:500px !important;height:auto !important;} } @media (max-width:330px){ #hikashop_mail{width:300px !important; margin:auto !important;} table[class=w600], td[class=w600], table[class=w598], td[class=w598], table[class=w500], td[class=w500], img[class="w600"]{width:100% !important;} td[class="w49"] { width: 10px !important;} .pict img {max-width:278px; height:auto !important;} } @media (min-width:331px) and (max-width:480px){ #hikashop_mail{width:450px !important; margin:auto !important;} table[class=w600], td[class=w600], table[class=w598], td[class=w598], table[class=w500], td[class=w500], img[class="w600"]{width:100% !important;} td[class="w49"] { width: 20px !important;} .pict img {max-width:408px; height:auto !important;} } h1{color:#000;font-size:16px;font-weight:normal;padding-bottom:10px;} h2{color:#000;font-size:14px;font-weight:normal;margin-top:20px;margin-bottom:5px;padding-bottom:4px;} a{cursor:pointer;color:#468852;text-decoration:none;border:none;} a:hover,a:focus{cursor:pointer;color:#468852;text-decoration:underline;border:none;} a:visited{cursor:pointer;color:#2d9cbb;text-decoration:none;border:none;} </style> <div id="hikashop_mail" style="font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:12px;line-height:18px;width:100%;background-color:#ffffff;padding-bottom:20px;color:#000;"> <!--{IF:USER_ACCOUNT}--> <div class="hikashop_online" style="font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:11px;line-height:18px;color:#000;text-decoration:none;margin:10px;text-align:center;"> <a style="cursor:pointer;color:#468852;text-decoration:none;border:none;" href="{VAR:URL}"> <span class="hikashop_online" style="color:#000;text-decoration:none;font-size:11px;margin-top:10px;margin-bottom:10px;text-align:center;"> {TXT:MAIL_HEADER} </span> </a> </div> <!--{ENDIF:USER_ACCOUNT}--> <table class="w600" style="font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:12px;line-height:18px;margin:auto;background-color:#ffffff;" border="0" cellspacing="0" cellpadding="0" width="600" align="center"> <tr> <td class="w600" style="" width="600" align="center"> <table class="w600" border="0" cellspacing="0" cellpadding="0" width="600" style="margin:0px;font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:12px;line-height:18px;"> <tr> <td class="w20" width="20"></td> <td class="w560 pict" style="text-align:left; color:#000" width="560"> <div id="title" style="font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:12px;line-height:18px;"> <img src="{VAR:LIVE_SITE}/templates/tntmunitions/images/TNTMunitionsLogo.png" border="0" alt="" style="float:left;margin-top:-20px;margin-right:10px;width:50px;"/> <h1 style="color:#000 !important;font-size:16px;font-weight:normal;padding-bottom:10px"> {TXT:ORDER_TITLE} </h1> </div> </td> <td class="w20" width="20"></td> </tr> <tr> <td class="w20" width="20"></td> <td style="border:1px solid #adadad;background-color:#ffffff;"> <div class="w550" width="550" id="content" style="font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:12px;line-height:18px;margin-left:5px;margin-right:5px;"> <p> <h3 style="color:#000 !important; font-size:14px; font-weight:normal;margin-bottom:0px;padding:0px;">{TXT:HI_CUSTOMER}</h3> {TXT:ORDER_BEGIN_MESSAGE} </p> <table class="w550" border="0" cellspacing="0" cellpadding="0" width="550" style="margin-top:10px;font-family:Courier New, Monaco, Menlo, Consolas, monospace;font-size:12px;line-height:18px;"> <tr> <!--{IF:BILLING_ADDRESS}--><td style="color:#000 !important;font-size:12px;font-weight:normal;">{TXT:BILLING_ADDRESS}</td><!--{ENDIF:BILLING_ADDRESS}--> <!--{IF:SHIPPING}--><!--{IF:SHIPPING_ADDRESS}--><td style="color:#000 !important;font-size:12px;font-weight:normal;">{TXT:SHIPPING_ADDRESS}</td><!--{ENDIF:SHIPPING_ADDRESS}--><!--{ENDIF:SHIPPING}--> </tr> <tr> <!--{IF:BILLING_ADDRESS}--><td>{VAR:BILLING_ADDRESS}</td><!--{ENDIF:BILLING_ADDRESS}--> <!--{IF:SHIPPING}--><!--{IF:SHIPPING_ADDRESS}--><td>{VAR:SHIPPING_ADDRESS}</td><!--{ENDIF:SHIPPING_ADDRESS}--><!--{ENDIF:SHIPPING}--> </tr> </table> <p> <span style="color:#000 !important;font-size:12px;font-weight:normal; padding-bottom:10px">{TXT:ORDER_CHANGED}</span> </p> <!--{IF:PAYMENT}--> <p> <span style="color:#000 !important;font-size:12px;font-weight:normal;">{TXT:PAYMENT_METHOD} :</span> {VAR:PAYMENT} </p> <!--{ENDIF:PAYMENT}--> <!--{IF:SHIPPING}--> <p> <span style="color:#000 !important;font-size:12px;font-weight:normal;">{TXT:HIKASHOP_SHIPPING_METHOD} :</span> {VAR:SHIPPING} </p> <p> <span style="color:#000 !important;font-size:12px;font-weight:normal;">Your tracking numbers are :</span> {VAR:TRACKING} </p> <!--{ENDIF:SHIPPING}--> <!--{IF:ORDER_SUMMARY}--> <h1 style="color:#000 !important;font-size:16px;font-weight:normal;border-bottom:1px solid #ddd;padding-top:10px;padding-bottom:10px;"> {TXT:ADDITIONAL_INFORMATION} </h1> <p style="border-bottom:1px solid #ddd;padding-bottom:10px;"> {VAR:ORDER_SUMMARY} </p> <!--{ENDIF:ORDER_SUMMARY}--> <p> {TXT:ORDER_END_MESSAGE} </p> </div> </td> <td class="w20" width="20"></td> </tr> </table> </td> </tr> </table> </div>

Here is my text version
Code:
<?php /** * @package HikaShop for Joomla! * @version 2.5.0 * @author hikashop.com * @copyright (C) 2010-2015 HIKARI SOFTWARE. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php echo JText::sprintf('HI_CUSTOMER',@$data->customer->name)."\n"."\n";?> <?php $url = $data->order_number; $config =& hikashop_config(); if($config->get('simplified_registration',0)!=2){ $url .= "\n".'( '.$data->order_url.' )'."\n"; } if(!empty($data->usermsg->usermsg)){ echo $data->usermsg->usermsg; }else{ echo JText::sprintf('ORDER_STATUS_CHANGED_TO',$url,$data->mail_status).'\r\n'; } if($data->mail_status == "shipped" && !empty($data->trackingnumber)) { echo 'Your tracking numbers are '.str_replace(",",", ",$data->trackingnumber).'.\r\n'; } echo "\n"."\n"; ?> <?php echo JText::sprintf('THANK_YOU_FOR_YOUR_ORDER',HIKASHOP_LIVE)."\n"."\n"."\n";?> <?php echo str_replace('<br/>',"\n",JText::sprintf('BEST_REGARDS_CUSTOMER',$mail->from_name.' Team'));?>

and here is the preload
Code:
<?php /** * @package HikaShop for Joomla! * @version 2.5.0 * @author hikashop.com * @copyright (C) 2010-2015 HIKARI SOFTWARE. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php $app = JFactory::getApplication(); $config = hikashop_config(); $orderClass = hikashop_get('class.order'); $imageHelper = hikashop_get('helper.image'); $productClass = hikashop_get('class.product'); $fieldsClass = hikashop_get('class.field'); if(hikashop_level(2)) { $null = null; $itemFields = $fieldsClass->getFields('frontcomp',$null,'item'); } global $Itemid; $url_itemid = ''; if(!empty($Itemid)) { $url_itemid = '&Itemid=' . $Itemid; } if(isset($data->url_itemid)) { $url_itemid = (!empty($data->url_itemid) ? '&Itemid=':'') . $data->url_itemid; } $order_url = $data->order_url; $mail_status = $data->mail_status; $customer = $data->customer; if(!isset($data->order)) $data->order = new stdClass(); $fs = array('order_number','order_discount_tax','order_shipping_tax','order_full_price','order_shipping_price','order_payment_price','order_discount_price','order_currency_id','order_status'); foreach($fs as $f) { if(isset($data->$f) && !isset($data->order->$f)) $data->order->$f = $data->$f; } $url = $data->order->order_number; $data->order->order_url = $order_url; if(!empty($customer->user_cms_id) && (int)$customer->user_cms_id != 0) { $url = '<a href="'.$order_url.'">'. $url.'</a>'; } $data->cart = $orderClass->loadFullOrder($data->order_id,true,false); $data->cart->coupon = new stdClass(); $price = new stdClass(); $tax = $data->cart->order_subtotal - $data->cart->order_subtotal_no_vat - $data->cart->order_discount_tax + $data->cart->order_shipping_tax; $price->price_value = $data->cart->order_full_price - $tax; $price->price_value_with_tax = $data->cart->order_full_price; $data->cart->full_total = new stdClass; $data->cart->full_total->prices = array($price); $data->cart->coupon->discount_value =& $data->cart->order_discount_price; if($app->isAdmin()) { $view = 'order'; } else { $view = 'address'; } $colspan = 4; $customer_name = @$customer->name; if(empty($customer_name)) $customer_name = @$data->cart->billing_address->address_firstname.' '.@$data->cart->billing_address->address_lastname; $vars = array( 'LIVE_SITE' => HIKASHOP_LIVE, 'URL' => $order_url, 'ORDER_PRODUCT_CODE' => (bool)$config->get('show_code', false), 'order' => $data->cart, 'user' => $customer, 'billing_address' => @$data->cart->billing_address, 'shipping_address' => @$data->cart->shipping_address, ); $texts = array( 'BILLING_ADDRESS' => JText::_('HIKASHOP_BILLING_ADDRESS'), 'SHIPPING_ADDRESS' => JText::_('HIKASHOP_SHIPPING_ADDRESS'), 'SUMMARY_OF_YOUR_ORDER' => JText::_('SUMMARY_OF_YOUR_ORDER'), 'MAIL_HEADER' => JText::_('HIKASHOP_MAIL_HEADER'), 'USER_ACCOUNT' => (bool)@$customer->user_cms_id, 'PRODUCT_NAME' => JText::_('CART_PRODUCT_NAME'), 'PRODUCT_CODE' => JText::_('CART_PRODUCT_CODE'), 'PRODUCT_PRICE' => JText::_('CART_PRODUCT_UNIT_PRICE'), 'PRODUCT_QUANTITY' => JText::_('CART_PRODUCT_QUANTITY'), 'PRODUCT_TOTAL' => JText::_('HIKASHOP_TOTAL'), 'ADDITIONAL_INFORMATION' => JText::_('ADDITIONAL_INFORMATION'), 'ORDER_TITLE' => JText::_('YOUR_ORDER'), 'HI_CUSTOMER' => JText::sprintf('HI_CUSTOMER', $customer_name), 'ORDER_CHANGED' => JText::sprintf('ORDER_STATUS_CHANGED_TO', $url, $data->mail_status), 'ORDER_BEGIN_MESSAGE' => JText::sprintf('THANK_YOU_FOR_YOUR_ORDER_BEGIN', HIKASHOP_LIVE), 'ORDER_END_MESSAGE' => JText::sprintf('THANK_YOU_FOR_YOUR_ORDER', HIKASHOP_LIVE) . '<br/>' . JText::sprintf('BEST_REGARDS_CUSTOMER',$mail->from_name.' Team'), ); if(!empty($data->usermsg->usermsg)){ $texts['ORDER_CHANGED'] = $data->usermsg->usermsg; } $templates = array(); $products_ids = array(); foreach($data->cart->products as $item) { $products_ids[] = $item->product_id; } $productClass->getProducts($products_ids); $cartProducts = array(); $cartFooters = array(); { $group = $config->get('group_options',0); $subtotal = 0; foreach($data->cart->products as $item) { if($group && $item->order_product_option_parent_id) continue; $product = @$productClass->all_products[$item->product_id]; $cartProduct = array( 'PRODUCT_CODE' => $item->order_product_code, 'PRODUCT_QUANTITY' => $item->order_product_quantity, 'PRODUCT_IMG' => '', 'item' => $item, 'product' => $product, ); if(!empty($item->images[0]->file_path) && $config->get('thumbnail', 1) != 0) { $img = $imageHelper->getThumbnail($item->images[0]->file_path, array(50, 50), array('forcesize' => true, 'scale' => 'outside')); if($img->success) { if(substr($img->url, 0, 3) == '../') $image = str_replace('../', HIKASHOP_LIVE, $img->url); else $image = substr(HIKASHOP_LIVE, 0, strpos(HIKASHOP_LIVE, '/', 9)) . $img->url; $cartProduct['PRODUCT_IMG'] = '<img src="'.$image.'" alt="" style="float:left;margin-top:3px;margin-bottom:3px;margin-right:6px;"/>'; } } $t = '<p>' . $item->order_product_name; if($group){ $display_item_price=false; foreach($data->cart->products as $j => $optionElement){ if($optionElement->order_product_option_parent_id != $item->order_product_id) continue; if($optionElement->order_product_price>0){ $display_item_price = true; } } if($display_item_price){ if($config->get('price_with_tax')){ $t .= ' '.$currencyHelper->format($item->order_product_price+$item->order_product_tax,$data->cart->order_currency_id); }else{ $t .= ' '.$currencyHelper->format($item->order_product_price,$data->cart->order_currency_id); } } } $t .= '</p>'; if(!empty($itemFields)){ foreach($itemFields as $field){ $namekey = $field->field_namekey; if(!isset($item->$namekey) || (empty($item->$namekey) && !strlen($item->$namekey))) continue; $t .= '<p>'.$fieldsClass->getFieldName($field).': '.$fieldsClass->show($field,$item->$namekey,'user_email').'</p>'; } } if($group){ foreach($data->cart->products as $j => $optionElement){ if($optionElement->order_product_option_parent_id != $item->order_product_id) continue; $item->order_product_price +=$optionElement->order_product_price; $item->order_product_tax +=$optionElement->order_product_tax; $item->order_product_total_price+=$optionElement->order_product_total_price; $item->order_product_total_price_no_vat+=$optionElement->order_product_total_price_no_vat; $t .= '<p class="hikashop_order_option_name">' . $optionElement->order_product_name; if($optionElement->order_product_price>0){ if($config->get('price_with_tax')){ $t .= ' ( + '.$currencyHelper->format($optionElement->order_product_price+$optionElement->order_product_tax,$data->cart->order_currency_id).' )'; }else{ $t .= ' ( + '.$currencyHelper->format($optionElement->order_product_price,$data->cart->order_currency_id).' )'; } } $t .= '</p>'; } } $cartProduct['PRODUCT_NAME'] = $t; $t = ''; $statusDownload = explode(',',$config->get('order_status_for_download','confirmed,shipped')); if(!empty($item->files) && in_array($data->order->order_status,$statusDownload)){ $t .= '<p>'; foreach($item->files as $file){ $fileName = empty($file->file_name) ? $file->file_path : $file->file_name; $file_pos = empty($file->file_pos) ? '' : ('&file_pos=' . $file->file_pos); if(empty($customer->user_cms_id)) $file_pos .= '&email=' . $customer->user_email; $oid = $data->order_id; if(!empty($data->cart->order_parent_id)) $oid = $data->cart->order_parent_id; $t .= '<a href="'.hikashop_frontendLink('index.php?option=com_hikashop&ctrl=order&task=download&file_id='.$file->file_id.'&order_id='.$oid.$file_pos.$url_itemid).'">'.$fileName.'</a><br/>'; } $t .= '</p>'; } $cartProduct['PRODUCT_DOWNLOAD'] = $t; if($config->get('price_with_tax')){ $unit_price = $currencyHelper->format($item->order_product_price+$item->order_product_tax,$data->cart->order_currency_id); $total_price = $currencyHelper->format($item->order_product_total_price,$data->cart->order_currency_id); $subtotal += $item->order_product_total_price; }else{ $unit_price = $currencyHelper->format($item->order_product_price,$data->cart->order_currency_id); $total_price = $currencyHelper->format($item->order_product_total_price_no_vat,$data->cart->order_currency_id); $subtotal += $item->order_product_total_price_no_vat; } $cartProduct['PRODUCT_PRICE'] = $unit_price; $cartProduct['PRODUCT_TOTAL'] = $total_price; $cartProducts[] = $cartProduct; } $templates['PRODUCT_LINE'] = $cartProducts; if(bccomp($data->cart->order_discount_price,0,5) || bccomp($data->cart->order_shipping_price,0,5) || bccomp($data->cart->order_payment_price,0,5) || ($data->cart->full_total->prices[0]->price_value!=$data->cart->full_total->prices[0]->price_value_with_tax) || !empty($data->cart->additional)){ $cartFooters[] = array( 'NAME' => JText::_('SUBTOTAL'), 'VALUE' => $currencyHelper->format($subtotal,$data->cart->order_currency_id) ); } if(bccomp($data->cart->order_discount_price,0,5)) { if($config->get('price_with_tax')) { $t = $currencyHelper->format($data->cart->order_discount_price*-1,$data->cart->order_currency_id); }else{ $t = $currencyHelper->format(($data->cart->order_discount_price-@$data->cart->order_discount_tax)*-1,$data->cart->order_currency_id); } $cartFooters[] = array( 'NAME' => JText::_('HIKASHOP_COUPON'), 'VALUE' => $t ); } if(bccomp($data->cart->order_shipping_price,0,5)){ if($config->get('price_with_tax')) { $t = $currencyHelper->format($data->cart->order_shipping_price,$data->cart->order_currency_id); }else{ $t = $currencyHelper->format($data->cart->order_shipping_price-@$data->cart->order_shipping_tax,$data->cart->order_currency_id); } $cartFooters[] = array( 'NAME' => JText::_('HIKASHOP_SHIPPING'), 'VALUE' => $t ); } if(bccomp($data->cart->order_payment_price,0,5)){ $cartFooters[] = array( 'NAME' => JText::_('HIKASHOP_PAYMENT'), 'VALUE' => $currencyHelper->format($data->cart->order_payment_price,$data->cart->order_currency_id) ); } if(!empty($data->cart->additional)) { $exclude_additionnal = explode(',', $config->get('order_additional_hide', '')); foreach($data->cart->additional as $additional) { if(in_array($additional->order_product_name, $exclude_additionnal)) continue; if(!empty($additional->order_product_price) || empty($additional->order_product_options)) { if($config->get('price_with_tax')){ $t = $currencyHelper->format($additional->order_product_price + @$additional->order_product_tax, $data->cart->order_currency_id); }else{ $t = $currencyHelper->format($additional->order_product_price, $data->cart->order_currency_id); } } else { $t = $additional->order_product_options; } $cartFooters[] = array( 'NAME' => JText::_($additional->order_product_name), 'VALUE' => $t ); } } if($data->cart->full_total->prices[0]->price_value!=$data->cart->full_total->prices[0]->price_value_with_tax) { if($config->get('detailed_tax_display') && !empty($data->cart->order_tax_info)) { foreach($data->cart->order_tax_info as $tax) { $cartFooters[] = array( 'NAME' => $tax->tax_namekey, 'VALUE' => $currencyHelper->format($tax->tax_amount,$data->cart->order_currency_id) ); } } else { $cartFooters[] = array( 'NAME' => JText::_('ORDER_TOTAL_WITHOUT_VAT'), 'VALUE' => $currencyHelper->format($data->cart->full_total->prices[0]->price_value,$data->cart->order_currency_id) ); } $cartFooters[] = array( 'NAME' => JText::_('ORDER_TOTAL_WITH_VAT'), 'VALUE' => $currencyHelper->format($data->cart->full_total->prices[0]->price_value_with_tax,$data->cart->order_currency_id) ); } else { $cartFooters[] = array( 'NAME' => JText::_('HIKASHOP_TOTAL'), 'VALUE' => $currencyHelper->format($data->cart->full_total->prices[0]->price_value_with_tax,$data->cart->order_currency_id) ); } $templates['ORDER_FOOTER'] = $cartFooters; } if(!empty($data->cart->order_payment_method)) { if(!is_numeric($data->cart->order_payment_id)){ $vars['PAYMENT'] = $data->cart->order_payment_method.' '.$data->cart->order_payment_id; }else{ $paymentClass = hikashop_get('class.payment'); $payment = $paymentClass->get($data->cart->order_payment_id); $vars['PAYMENT'] = $payment->payment_name; unset($paymentClass); } } if(!empty($data->cart->order_shipping_id)) { $shippingClass = hikashop_get('class.shipping'); if(!empty($data->cart->order_shipping_method)) { if(!is_numeric($data->cart->order_shipping_id)){ $shipping_name = $shippingClass->getShippingName($data->cart->order_shipping_method, $data->cart->order_shipping_id); $vars['SHIPPING'] = $shipping_name; $vars['SHIPPING_TXT'] = $vars['SHIPPING']; }else{ $shipping = $shippingClass->get($data->cart->order_shipping_id); $vars['SHIPPING'] = $shipping->shipping_name; $vars['SHIPPING_TXT'] = $vars['SHIPPING']; } } else { $shippings_data = array(); $shipping_ids = explode(';', $data->cart->order_shipping_id); $shippingClass = hikashop_get('class.shipping'); foreach($shipping_ids as $key) { $shipping_data = ''; list($k, $w) = explode('@', $key); $shipping_id = $k; if(isset($data->cart->shippings[$shipping_id])) { $shipping = $data->cart->shippings[$shipping_id]; $shipping_data = $shipping->shipping_name; } else { foreach($data->cart->products as $order_product) { if($order_product->order_product_shipping_id == $key) { if(!is_numeric($order_product->order_product_shipping_id)){ $shipping_name = $shippingClass->getShippingName($order_product->order_product_shipping_method, $shipping_id); $shipping_data = $shipping_name; }else{ $shipping_method_data = $shippingClass->get($shipping_id); $shipping_data = $shipping_method_data->shipping_name; } break; } } if(empty($shipping_data)) $shipping_data = '[ ' . $key . ' ]'; } if(isset($data->cart->order_shipping_params->prices[$key])) { $price_params = $data->cart->order_shipping_params->prices[$key]; if($config->get('price_with_tax')){ $shipping_data .= ' (' . $currencyHelper->format($price_params->price_with_tax, $data->cart->order_currency_id) . ')'; }else{ $shipping_data .= ' (' . $currencyHelper->format($price_params->price_with_tax - @$price_params->tax, $data->cart->order_currency_id) . ')'; } } $shippings_data[] = $shipping_data; } if(!empty($shippings_data)) { $vars['SHIPPING'] = '<ul><li>'.implode('</li><li>', $shippings_data).'</li></ul>'; $vars['SHIPPING_TXT'] = ' - ' . implode("\r\n - ", $shippings_data); $tracking_link = array(); $tracking = array(); foreach($shippings_data as $ship_method){ if(strpos($ship_method,'FedEx') !== false){ $tracking_link['FedEx']='<a href="http://www.fedex.com/Tracking?action=track&tracknumbers='; } if(strpos($ship_method,'UPS') !== false){ $tracking_link['UPS']='<a href="http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums='; } if(strpos($ship_method,'USPS') !== false){ $tracking_link['USPS']='<a href="https://tools.usps.com/go/TrackConfirmAction_input?qtc_tLabels1='; } } if(!empty($data->trackingnumber)){ $tracking_number = explode(',',$data->trackingnumber); foreach($tracking_number as $value){ if(strlen($value) <= 14){ $tracking['FedEx']=$value; } if(substr($value,0,2) === '1Z' && strlen($value) <= 18){ $tracking['UPS']=$value; } if(substr($value,0,1) === '9' && strlen($value) <= 22){ $tracking['USPS']=$value; } } $tracking=array_combine(array_intersect_key($tracking_link,$tracking),array_intersect_key($tracking,$tracking_link)); $vars['TRACKING'] = '<ul>'; $vars['TRACKING_TXT'] = ''; foreach($tracking as $key=>$value){ $vars['TRACKING'] .= '<li>'.$key.$value.'">'.$value.'</a>'; $vars['TRACKING_TXT'] .= '- '.$value.'\r\n'; } $vars['TRACKING'] .= '</ul>'; } } } unset($shippingClass); } else { $vars['SHIPPING'] = ''; } ob_start(); $sep = ''; if(hikashop_level(2)) { $fields = $fieldsClass->getFields('frontcomp',$data,'order',''); foreach($fields as $fieldName => $oneExtraField) { if(isset($data->$fieldName) && !isset($data->cart->$fieldName)) $data->cart->$fieldName = $data->$fieldName; if(empty($data->cart->$fieldName)) continue; echo $sep . $fieldsClass->trans($oneExtraField->field_realname).' : '.$fieldsClass->show($oneExtraField, $data->cart->$fieldName,'user_email'); $sep = '<br />'; } } JPluginHelper::importPlugin('hikashop'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('onAfterOrderProductsListingDisplay', array(&$data->cart, 'email_notification_html')); $content = ob_get_clean(); $vars['ORDER_SUMMARY'] = trim($content); $vars['BILLING_ADDRESS'] = ''; $vars['SHIPPING_ADDRESS'] = ''; $addressClass = hikashop_get('class.address'); if(!empty($data->cart->billing_address) && !empty($data->cart->fields)){ $vars['BILLING_ADDRESS'] = $addressClass->displayAddress($data->cart->fields,$data->cart->billing_address,$view); } if(!empty($data->cart->override_shipping_address)) { $vars['SHIPPING_ADDRESS'] = $data->cart->override_shipping_address; } elseif(!empty($data->order_shipping_id) && !empty($data->cart->shipping_address) && !empty($data->cart->fields)) { $vars['SHIPPING_ADDRESS'] = $addressClass->displayAddress($data->cart->fields,$data->cart->shipping_address,$view); } else { $vars['SHIPPING_ADDRESS'] = $vars['BILLING_ADDRESS']; }

I just updated hikashop and now the html version is not working properly. In the preload you can see near the bottom of the code I have where it builds links for the tracking number based on the format to show in the html version. I've tried a UPS number and a USPS number and for some reason since I updated hikashop this is not working anymore. There just nothing there where it is supposed to be (the {VAR:TRACKING} in the html version). What's changed here?

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #235171 by nicolas
Hi,

I would say that you should use $data->cart->trackingnumber instead of $data->trackingnumber
Because it's highly possible that $data->trackingnumber is empty.
The variables in $data comes from the data that is being saved by your action on the order. But $data->cart comes from the data stored in the database for your order.
So if you're not currently saving the tracking number in the database, the variable won't be in $data but it will be in $data->cart.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #235181 by deuce4884
Hey nicolas,
I tried $data->cart->trackingnumber but still nothing. I looked at my database tables. After, I create my shipment and get my tracking number I edit the appropriate order in the backend and enter my tracking number into the text field. I noticed that it is being stored in the hikashop_order table. What I can't understand is why this worked perfect before I updated hikashop and joomla and now nothing.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #235208 by nicolas
Hi,

Do you still have the column of the custom field in the hikashop_order table ?
So after you edit the field and enter the tracking code and save, you don't see it in the details of your order ?

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #235269 by deuce4884
Yes the custom field is still in my table and yes it does save the number in the backend after i edit it and i can see the changes

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #235270 by nicolas
Then, if the column name of the custom field is trackingnumber and that the value is stored in that column of hikashop_order in the database, the code using $data->cart->trackingnumber should definitely find it.
So the problem must be somewhere else. But I guess it will require debugging the custom code added to the preload to find out the root of the issue.
The following user(s) said Thank You: deuce4884

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #235355 by deuce4884
Finally, figured out what was going on with this. I had only set up this code in the condition that there was multiple shipping methods selected and that was all I had tested before so, when I tested an order where there was only one shipping method it wasn't working. I ended up having the following code
Code:
$tracking_link = array(); $tracking = array(); if(!empty($data->cart->order_shipping_id)) { $shippingClass = hikashop_get('class.shipping'); if(!empty($data->cart->order_shipping_method)) { if(!is_numeric($data->cart->order_shipping_id)){ $shipping_name = $shippingClass->getShippingName($data->cart->order_shipping_method, $data->cart->order_shipping_id); $vars['SHIPPING'] = $shipping_name; $vars['SHIPPING_TXT'] = $vars['SHIPPING']; if(strpos($shipping_name,'FedEx') !== false){ $tracking_link['FedEx']='<a href="http://www.fedex.com/Tracking?action=track&tracknumbers='; } if(strpos($shipping_name,'UPS') !== false){ $tracking_link['UPS']='<a href="http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums='; } if(strpos($shipping_name,'USPS') !== false){ $tracking_link['USPS']='<a href="https://tools.usps.com/go/TrackConfirmAction_input?qtc_tLabels1='; } if(!empty($data->cart->trackingnumber)){ $tracking_number = explode(',',$data->cart->trackingnumber); foreach($tracking_number as $value){ if(strlen($value) <= 14){ $tracking['FedEx']=$value; } if(substr($value,0,2) === '1Z' && strlen($value) <= 18){ $tracking['UPS']=$value; } if(substr($value,0,1) === '9' && strlen($value) <= 22){ $tracking['USPS']=$value; } } $tracking_array=array_combine(array_intersect_key($tracking_link,$tracking),array_intersect_key($tracking,$tracking_link)); $vars['SHIPPING'] .= '<p>Your tracking numbers are:</p><ul>'; foreach($tracking_array as $key=>$value){ $vars['SHIPPING'] .= '<li>'.$key.$value.'">'.$value.'</a>'; } $vars['SHIPPING'] .= '</ul>'; } }else{ $shipping = $shippingClass->get($data->cart->order_shipping_id); $vars['SHIPPING'] = $shipping->shipping_name; $vars['SHIPPING_TXT'] = $vars['SHIPPING']; if(strpos($shipping->shipping_name,'FedEx') !== false){ $tracking_link['FedEx']='<a href="http://www.fedex.com/Tracking?action=track&tracknumbers='; } if(strpos($shipping->shipping_name,'UPS') !== false){ $tracking_link['UPS']='<a href="http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums='; } if(strpos($shipping->shipping_name,'USPS') !== false){ $tracking_link['USPS']='<a href="https://tools.usps.com/go/TrackConfirmAction_input?qtc_tLabels1='; } if(!empty($data->cart->trackingnumber)){ $tracking_number = explode(',',$data->cart->trackingnumber); foreach($tracking_number as $value){ if(strlen($value) <= 14){ $tracking['FedEx']=$value; } if(substr($value,0,2) === '1Z' && strlen($value) <= 18){ $tracking['UPS']=$value; } if(substr($value,0,1) === '9' && strlen($value) <= 22){ $tracking['USPS']=$value; } } $tracking_array=array_combine(array_intersect_key($tracking_link,$tracking),array_intersect_key($tracking,$tracking_link)); $vars['SHIPPING'] .= '<p>Your tracking numbers are:</p><ul>'; foreach($tracking_array as $key=>$value){ $vars['SHIPPING'] .= '<li>'.$key.$value.'">'.$value.'</a>'; } $vars['SHIPPING'] .= '</ul>'; } } } else { $shippings_data = array(); $shipping_ids = explode(';', $data->cart->order_shipping_id); $shippingClass = hikashop_get('class.shipping'); foreach($shipping_ids as $key) { $shipping_data = ''; list($k, $w) = explode('@', $key); $shipping_id = $k; if(isset($data->cart->shippings[$shipping_id])) { $shipping = $data->cart->shippings[$shipping_id]; $shipping_data = $shipping->shipping_name; } else { foreach($data->cart->products as $order_product) { if($order_product->order_product_shipping_id == $key) { if(!is_numeric($order_product->order_product_shipping_id)){ $shipping_name = $shippingClass->getShippingName($order_product->order_product_shipping_method, $shipping_id); $shipping_data = $shipping_name; }else{ $shipping_method_data = $shippingClass->get($shipping_id); $shipping_data = $shipping_method_data->shipping_name; } break; } } if(empty($shipping_data)) $shipping_data = '[ ' . $key . ' ]'; } if(isset($data->cart->order_shipping_params->prices[$key])) { $price_params = $data->cart->order_shipping_params->prices[$key]; if($config->get('price_with_tax')){ $shipping_data .= ' (' . $currencyHelper->format($price_params->price_with_tax, $data->cart->order_currency_id) . ')'; }else{ $shipping_data .= ' (' . $currencyHelper->format($price_params->price_with_tax - @$price_params->tax, $data->cart->order_currency_id) . ')'; } } $shippings_data[] = $shipping_data; } if(!empty($shippings_data)) { $vars['SHIPPING'] = '<ul><li>'.implode('</li><li>', $shippings_data).'</li></ul>'; $vars['SHIPPING_TXT'] = ' - ' . implode("\r\n - ", $shippings_data); foreach($shippings_data as $ship_method){ if(strpos($ship_method,'FedEx') !== false){ $tracking_link['FedEx']='<a href="http://www.fedex.com/Tracking?action=track&tracknumbers='; } if(strpos($ship_method,'UPS') !== false){ $tracking_link['UPS']='<a href="http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums='; } if(strpos($ship_method,'USPS') !== false){ $tracking_link['USPS']='<a href="https://tools.usps.com/go/TrackConfirmAction_input?qtc_tLabels1='; } } if(!empty($data->cart->trackingnumber)){ $tracking_number = explode(',',$data->cart->trackingnumber); foreach($tracking_number as $value){ if(strlen($value) <= 14){ $tracking['FedEx']=$value; } if(substr($value,0,2) === '1Z' && strlen($value) <= 18){ $tracking['UPS']=$value; } if(substr($value,0,1) === '9' && strlen($value) <= 22){ $tracking['USPS']=$value; } } $tracking_array=array_combine(array_intersect_key($tracking_link,$tracking),array_intersect_key($tracking,$tracking_link)); $vars['SHIPPING'] .= '<p>Your tracking numbers are:</p><ul>'; foreach($tracking_array as $key=>$value){ $vars['SHIPPING'] .= '<li>'.$key.$value.'">'.$value.'</a>'; } $vars['SHIPPING'] .= '</ul>'; } } } unset($shippingClass); } else { $vars['SHIPPING'] = ''; }

Thanks for all your help on this issue. Just a dumb mistake on my part

Please Log in or Create an account to join the conversation.

Time to create page: 0.189 seconds
Powered by Kunena Forum