- Posts: 128
- Thank you received: 3
Tracking # custom field not working after update
10 years 5 months ago #235042
by deuce4884
Tracking # custom field not working after update was created 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
Here is my text version
and here is the preload
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?
-- 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.
10 years 5 months ago #235171
by nicolas
Replied by nicolas on topic Tracking # custom field not working after update
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.
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.
10 years 5 months ago #235181
by deuce4884
Replied by deuce4884 on topic Tracking # custom field not working after update
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.
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.
10 years 5 months ago #235208
by nicolas
Replied by nicolas on topic Tracking # custom field not working after update
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 ?
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.
10 years 5 months ago #235269
by deuce4884
Replied by deuce4884 on topic Tracking # custom field not working after update
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.
10 years 5 months ago #235270
by nicolas
Replied by nicolas on topic Tracking # custom field not working after update
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.
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.
10 years 5 months ago #235355
by deuce4884
Replied by deuce4884 on topic Tracking # custom field not working after update
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
Thanks for all your help on this issue. Just a dumb mistake on my part
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