// Retrocompatibility with carriers modules

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@12614 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
mDeflotte
2012-01-23 15:50:50 +00:00
parent 2227bdc63f
commit 441f643fda
10 changed files with 186 additions and 66 deletions
+50 -4
View File
@@ -1717,7 +1717,7 @@ class CartCore extends ObjectModel
'carrier_list' => $best_price_carrier, 'carrier_list' => $best_price_carrier,
'is_best_price' => true, 'is_best_price' => true,
'is_best_grade' => false, 'is_best_grade' => false,
'unique_carrier' => false 'unique_carrier' => (count($best_price_carrier) <= 1)
); );
$best_grade_carrier = array(); $best_grade_carrier = array();
@@ -1742,7 +1742,7 @@ class CartCore extends ObjectModel
$delivery_option_list[$id_address][$key] = array( $delivery_option_list[$id_address][$key] = array(
'carrier_list' => $best_grade_carrier, 'carrier_list' => $best_grade_carrier,
'is_best_price' => false, 'is_best_price' => false,
'unique_carrier' => false 'unique_carrier' => (count($best_grade_carrier) <= 1)
); );
$delivery_option_list[$id_address][$key]['is_best_grade'] = true; $delivery_option_list[$id_address][$key]['is_best_grade'] = true;
@@ -1769,7 +1769,7 @@ class CartCore extends ObjectModel
$delivery_option_list[$id_address][$key] = array( $delivery_option_list[$id_address][$key] = array(
'is_best_price' => false, 'is_best_price' => false,
'is_best_grade' => false, 'is_best_grade' => false,
'unique_carrier' => false, 'unique_carrier' => true,
'carrier_list' => array( 'carrier_list' => array(
$id_carrier => array( $id_carrier => array(
'price_with_tax' => $price_with_tax, 'price_with_tax' => $price_with_tax,
@@ -1780,7 +1780,7 @@ class CartCore extends ObjectModel
) )
); );
else else
$delivery_option_list[$id_address][$key]['unique_carrier'] = true; $delivery_option_list[$id_address][$key]['unique_carrier'] = (count($delivery_option_list[$id_address][$key]['carrier_list']) <= 1);
} }
foreach ($delivery_option_list as $id_address => $delivery_option) foreach ($delivery_option_list as $id_address => $delivery_option)
@@ -1810,6 +1810,23 @@ class CartCore extends ObjectModel
$cache = $delivery_option_list; $cache = $delivery_option_list;
return $delivery_option_list; return $delivery_option_list;
} }
public function carrierIsSelected($id_carrier, $id_address)
{
$delivery_option = $this->getDeliveryOption();
$delivery_option_list = $this->getDeliveryOptionList();
if (!isset($delivery_option[$id_address]))
return false;
if (!isset($delivery_option_list[$id_address][$delivery_option[$id_address]]))
return false;
if (!in_array($id_carrier, array_keys($delivery_option_list[$id_address][$delivery_option[$id_address]]['carrier_list'])))
return false;
return true;
}
/** /**
* Get all deliveries options available for the current cart formated like Carriers::getCarriersForOrder * Get all deliveries options available for the current cart formated like Carriers::getCarriersForOrder
@@ -3137,4 +3154,33 @@ class CartCore extends ObjectModel
} }
return true; return true;
} }
/**
*
* Execute hook displayCarrierList (extraCarrier) and merge theme to the $array
* @param array $array
*/
public static function addExtraCarriers(&$array)
{
$first = true;
$hook_extracarrier_addr = array();
foreach (Context::getContext()->cart->getAddressCollection() as $address)
{
$hook = Hook::exec('displayCarrierList', array('address' => $address));
$hook_extracarrier_addr[$address->id] = $hook;
if ($first)
{
$array = array_merge(
$array,
array('HOOK_EXTRACARRIER' => $hook)
);
$first = false;
}
$array = array_merge(
$array,
array('HOOK_EXTRACARRIER_ADDR' => $hook_extracarrier_addr)
);
}
}
} }
+1 -1
View File
@@ -268,7 +268,7 @@ class CartControllerCore extends FrontController
$deliveryAddress = new Address($this->context->cart->id_address_delivery); $deliveryAddress = new Address($this->context->cart->id_address_delivery);
$id_country = (isset($deliveryAddress) && $deliveryAddress->id) ? $deliveryAddress->id_country : Configuration::get('PS_COUNTRY_DEFAULT'); $id_country = (isset($deliveryAddress) && $deliveryAddress->id) ? $deliveryAddress->id_country : Configuration::get('PS_COUNTRY_DEFAULT');
$result['HOOK_EXTRACARRIER'] = Hook::exec('displayCarrierList', array('address' => (isset($deliveryAddress) && (int)$deliveryAddress->id) ? $deliveryAddress : null)); Cart::addExtraCarriers($result);
} }
$result['summary'] = $this->context->cart->getSummaryDetails(); $result['summary'] = $this->context->cart->getSummaryDetails();
$result['customizedDatas'] = Product::getAllCustomizedDatas($this->context->cart->id, null, true); $result['customizedDatas'] = Product::getAllCustomizedDatas($this->context->cart->id, null, true);
+17
View File
@@ -92,6 +92,23 @@ class OrderControllerCore extends ParentOrderController
{ {
global $isVirtualCart; global $isVirtualCart;
if (Tools::isSubmit('ajax') && Tools::getValue('method') == 'updateExtraCarrier')
{
// Change virtualy the currents delivery options
$delivery_option = $this->context->cart->getDeliveryOption();
$delivery_option[(int)Tools::getValue('id_address')] = Tools::getValue('id_delivery_option');
$this->context->cart->setDeliveryOption($delivery_option);
$return = array(
'content' => Hook::exec(
'displayCarrierList',
array(
'address' => new Address((int)Tools::getValue('id_address'))
)
)
);
die(Tools::jsonEncode($return));
}
if ($this->nbProducts) if ($this->nbProducts)
$this->context->smarty->assign('virtual_cart', $isVirtualCart); $this->context->smarty->assign('virtual_cart', $isVirtualCart);
+18 -5
View File
@@ -68,12 +68,16 @@ class OrderOpcControllerCore extends ParentOrderController
{ {
if ($this->_processCarrier()) if ($this->_processCarrier())
{ {
$carriers = $this->context->cart->simulateCarriersOutput();
$address_delivery = new Address($this->context->cart->id_address_delivery);
$return = array( $return = array(
'summary' => $this->context->cart->getSummaryDetails(), 'summary' => $this->context->cart->getSummaryDetails(),
'HOOK_TOP_PAYMENT' => Hook::exec('displayPaymentTop'), 'HOOK_TOP_PAYMENT' => Hook::exec('displayPaymentTop'),
'HOOK_PAYMENT' => $this->_getPaymentMethods(), 'HOOK_PAYMENT' => $this->_getPaymentMethods(),
'carrier_data' => $this->_getCarrierList(), 'carrier_data' => $this->_getCarrierList(),
'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array('carriers' => $carriers))
); );
Cart::addExtraCarriers($return);
die(Tools::jsonEncode($return)); die(Tools::jsonEncode($return));
} }
else else
@@ -436,8 +440,7 @@ class OrderOpcControllerCore extends ParentOrderController
$link_conditions .= '&content_only=1'; $link_conditions .= '&content_only=1';
$carriers = $this->context->cart->simulateCarriersOutput(); $carriers = $this->context->cart->simulateCarriersOutput();
$vars = array(
$this->context->smarty->assign(array(
'checkedTOS' => (int)($this->context->cookie->checkedTOS), 'checkedTOS' => (int)($this->context->cookie->checkedTOS),
'recyclablePackAllowed' => (int)(Configuration::get('PS_RECYCLABLE_PACK')), 'recyclablePackAllowed' => (int)(Configuration::get('PS_RECYCLABLE_PACK')),
'giftAllowed' => (int)(Configuration::get('PS_GIFT_WRAPPING')), 'giftAllowed' => (int)(Configuration::get('PS_GIFT_WRAPPING')),
@@ -451,7 +454,17 @@ class OrderOpcControllerCore extends ParentOrderController
'checked' => $this->context->cart->simulateCarrierSelectedOutput(), 'checked' => $this->context->cart->simulateCarrierSelectedOutput(),
'delivery_option' => $this->context->cart->getDeliveryOption(), 'delivery_option' => $this->context->cart->getDeliveryOption(),
'address_collection' => $this->context->cart->getAddressCollection(), 'address_collection' => $this->context->cart->getAddressCollection(),
'opc' => true)); 'opc' => true,
'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array(
'carriers' => $carriers,
'delivery_option_list' => $this->context->cart->getDeliveryOptionList(),
'delivery_option' => $this->context->cart->getDeliveryOption()
))
);
Cart::addExtraCarriers($vars);
$this->context->smarty->assign($vars);
if ($this->context->customer->id) if ($this->context->customer->id)
$groups = $this->context->customer->getGroups(); $groups = $this->context->customer->getGroups();
@@ -469,9 +482,9 @@ class OrderOpcControllerCore extends ParentOrderController
'delivery_option_list' => $this->context->cart->getDeliveryOptionList(), 'delivery_option_list' => $this->context->cart->getDeliveryOptionList(),
'delivery_option' => $this->context->cart->getDeliveryOption() 'delivery_option' => $this->context->cart->getDeliveryOption()
)), )),
'carrier_block' => $this->context->smarty->fetch(_PS_THEME_DIR_.'order-carrier.tpl'), 'carrier_block' => $this->context->smarty->fetch(_PS_THEME_DIR_.'order-carrier.tpl')
'HOOK_EXTRACARRIER' => Hook::exec('displayCarrierList', array('address' => $address_delivery))
); );
Cart::addExtraCarriers($result);
return $result; return $result;
} }
if (sizeof($this->errors)) if (sizeof($this->errors))
+7 -3
View File
@@ -406,15 +406,19 @@ class ParentOrderControllerCore extends FrontController
'checked' => $checked, 'checked' => $checked,
'delivery_option' => $this->context->cart->getDeliveryOption() 'delivery_option' => $this->context->cart->getDeliveryOption()
)); ));
$this->context->smarty->assign(array(
'HOOK_EXTRACARRIER' => Hook::exec('displayCarrierList', array('address' => $address)), $vars = array(
'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array( 'HOOK_BEFORECARRIER' => Hook::exec('displayBeforeCarrier', array(
'carriers' => $carriers, 'carriers' => $carriers,
'checked' => $checked, 'checked' => $checked,
'delivery_option_list' => $delivery_option_list, 'delivery_option_list' => $delivery_option_list,
'delivery_option' => $this->context->cart->getDeliveryOption() 'delivery_option' => $this->context->cart->getDeliveryOption()
)) ))
)); );
Cart::addExtraCarriers($vars);
$this->context->smarty->assign($vars);
} }
protected function _assignWrappingAndTOS() protected function _assignWrappingAndTOS()
+47 -43
View File
@@ -860,7 +860,7 @@ table#cart_summary .cart_total_price .total_price_container {
color:#666 color:#666
} }
#orderopc #login_form_content label { #order-opc #login_form_content label {
display:block; display:block;
margin:0 0 10px 0 margin:0 0 10px 0
} }
@@ -889,7 +889,7 @@ table#cart_summary .cart_total_price .total_price_container {
} }
.lost_password a {color:#666} .lost_password a {color:#666}
#orderopc .lost_password { #order-opc .lost_password {
display:block; display:block;
float:none; float:none;
margin:5px 0 10px; margin:5px 0 10px;
@@ -962,12 +962,12 @@ table#cart_summary .cart_total_price .total_price_container {
/* step 4 - paiement ************************************************************************** */ /* step 4 - paiement ************************************************************************** */
/* #################### CSS MAXENCE ######################## /* #################### CSS MAXENCE ########################
#order .delivery_options_address, #orderopc .delivery_options_address { #order .delivery_options_address, #order-opc .delivery_options_address {
width: 541px; width: 541px;
margin-left: 7px; margin-left: 7px;
} }
*/ */
#order .delivery_options_address h3, #orderopc .delivery_options_address h3 { #order .delivery_options_address h3, #order-opc .delivery_options_address h3 {
/*background: url("../img/table_header.gif") no-repeat; /*background: url("../img/table_header.gif") no-repeat;
color: #374853; color: #374853;
font-weight: bold; font-weight: bold;
@@ -981,51 +981,51 @@ margin: 10px 0 0 0;*/
text-transform: uppercase; text-transform: uppercase;
background: none repeat scroll 0 0 #383838; background: none repeat scroll 0 0 #383838;
} }
#order .delivery_option_radio, #orderopc .delivery_option_radio { #order .delivery_option_radio, #order-opc .delivery_option_radio {
float: left; float: left;
margin: 12px; margin: 12px;
} }
#order .delivery_option label, #orderopc .delivery_option label { #order .delivery_option label, #order-opc .delivery_option label {
display: block; display: block;
padding-bottom: 5px; padding-bottom: 5px;
} }
#order .delivery_option label > table.resume, #orderopc .delivery_option label > table.resume { #order .delivery_option label > table.resume, #order-opc .delivery_option label > table.resume {
height: 40px; height: 40px;
width: 685px; width: 685px;
} }
#order .delivery_option.item, #orderopc .delivery_option.item { #order .delivery_option.item, #order-opc .delivery_option.item {
background: #fafafa; background: #fafafa;
} }
#order .delivery_option.alternate_item, #orderopc .delivery_option.alternate_item { #order .delivery_option.alternate_item, #order-opc .delivery_option.alternate_item {
border-top: 1px solid #bdc2c9; border-top: 1px solid #bdc2c9;
background: #f1f2f4; background: #f1f2f4;
border-bottom: 1px solid #bdc2c9; border-bottom: 1px solid #bdc2c9;
} }
#order .delivery_option label > table.resume td, #orderopc .delivery_option label > table.resume td { #order .delivery_option label > table.resume td, #order-opc .delivery_option label > table.resume td {
padding: 0 8px; padding: 0 8px;
} }
#order .delivery_option label > table.resume td + td, #orderopc .delivery_option label > table.resume td + td { #order .delivery_option label > table.resume td + td, #order-opc .delivery_option label > table.resume td + td {
width: 300px; width: 300px;
} }
#order .delivery_option label > table.resume td + td + td, #orderopc .delivery_option label > table.resume td + td + td { #order .delivery_option label > table.resume td + td + td, #order-opc .delivery_option label > table.resume td + td + td {
width: 100px; width: 100px;
text-align: right; text-align: right;
} }
#order .delivery_option_carrier td {width:200px} #order .delivery_option_carrier td {width:200px}
#order .delivery_option_carrier td + td {width:280px;} #order .delivery_option_carrier td + td {width:280px;}
#order .delivery_option_carrier td + td + td {width:200px} #order .delivery_option_carrier td + td + td {width:200px}
#order .delivery_options_address .delivery_option_logo, #order .delivery_option_carrier .delivery_option_logo, #orderopc .delivery_options_address .delivery_option_logo { #order .delivery_options_address .delivery_option_logo, #order .delivery_option_carrier .delivery_option_logo, #order-opc .delivery_options_address .delivery_option_logo {
padding-left:10px; padding-left:10px;
width: 160px; width: 160px;
} }
#order .delivery_options_address .delivery_option_logo img, #orderopc .delivery_options_address .delivery_option_logo img { /*height: 40px;*/ } #order .delivery_options_address .delivery_option_logo img, #order-opc .delivery_options_address .delivery_option_logo img { /*height: 40px;*/ }
#orderopc .delivery_option_carrier { #order-opc .delivery_option_carrier {
margin: 0 0 0 45px; margin: 0 0 0 45px;
padding: 5px; padding: 5px;
width: 680px; width: 680px;
background: white; background: white;
} }
#order .delivery_option_carrier .first_item { #order .delivery_option_carrier .first_item, #order-opc .delivery_option_carrier .first_item {
padding:0 0 0 5px; padding:0 0 0 5px;
background:url(../img/arrow_right_2.png) no-repeat 0 2px background:url(../img/arrow_right_2.png) no-repeat 0 2px
} }
@@ -1060,11 +1060,11 @@ margin: 10px 0 0 0;*/
#carrierTable th { #carrierTable th {
padding:0 15px; padding:0 15px;
height: 29px; height: 29px;
font-weight: bold; font-weight: bold;
line-height:29px; line-height:29px;
color:#fff; color:#fff;
text-transform:uppercase; text-transform:uppercase;
background:url(../img/bg_address_title.png) repeat-x 0 0 #989898 background:url(../img/bg_address_title.png) repeat-x 0 0 #989898
} }
#carrierTable td { #carrierTable td {
padding:15px; padding:15px;
@@ -1129,56 +1129,60 @@ a.iframe {font-weight:bold}
/* ************************************************************************************************ /* ************************************************************************************************
PAGE ORDER-OPC PAGE ORDER-OPC
************************************************************************************************ */ ************************************************************************************************ */
#orderopc #left_column {display:none} #order-opc #left_column {display:none}
#orderopc #center_column{width:757px} #order-opc #center_column{width:757px}
#orderopc h2 {} #order-opc h2 {}
#orderopc h2 span { #order-opc h2 span {
display:inline-block; display:inline-block;
padding:5px 7px; padding:5px 7px;
color:#fff; color:#fff;
background:#333; background:#333;
} }
#orderopc #login_form fieldset { #order-opc #login_form fieldset {
background: none repeat scroll 0 0 #FFFFE0; background: none repeat scroll 0 0 #FFFFE0;
border: 1px solid #E6DB55; border: 1px solid #E6DB55;
font-size: 13px; font-size: 13px;
margin: 0 0 10px; margin: 0 0 10px;
padding: 10px; padding: 10px;
} }
#orderopc #login_form fieldset p {padding:0} #order-opc #login_form fieldset p {padding:0}
#orderopc #login_form fieldset p a {padding:0} #order-opc #login_form fieldset p a {padding:0}
#orderopc #new_account_form p.submit { #order-opc #new_account_form p.submit {
margin-right: 120px; margin-right: 120px;
text-align:right text-align:right
} }
#orderopc #new_account_form p.opc-required {margin-left:20px} #order-opc #new_account_form p.opc-required {margin-left:20px}
#orderopc .addresses {margin-bottom:20px} #order-opc .addresses {margin-bottom:20px}
#orderopc #opc_delivery_methods h3 {margin-top:20px;} #order-opc #opc_delivery_methods h3 {margin-top:20px;}
#orderopc #opc_delivery_methods textarea { #order-opc #opc_delivery_methods textarea {
height:60px; height:60px;
width:755px; width:755px;
border:1px solid #ccc border:1px solid #ccc
} }
#orderopc #opc_payment_methods {margin-bottom:20px} #order-opc #opc_payment_methods {margin-bottom:20px}
#orderopc #opc_payment_methods #opc_payment_methods-content p{margin:0} #order-opc #opc_payment_methods #opc_payment_methods-content p{margin:0}
#orderopc .delivery_option_carrier td {width:200px} #order-opc .delivery_option_carrier td {width:200px}
#orderopc .delivery_option_carrier td + td {width:280px;} #order-opc .delivery_option_carrier td + td {width:280px;}
#orderopc .delivery_option_carrier td + td + td {width:200px} #order-opc .delivery_option_carrier td + td + td {width:200px}
#orderopc .delivery_option_carrier { #order-opc .delivery_option_carrier {
margin: 0 0 0 45px; margin: 0 0 0 45px;
padding: 5px; padding: 5px;
width: 680px; width: 680px;
background: white; background: white;
display: none;
} }
#orderopc .delivery_option_carrier .first_item {padding:0 0 0 5px} #order-opc .delivery_option_carrier.selected {
display: table;
}
#order-opc .delivery_option_carrier .first_item {padding:0 0 0 5px}
/* ************************************************************************************************ /* ************************************************************************************************
+30
View File
@@ -615,7 +615,15 @@ function refreshDeliveryOptions()
{ {
$.each($('.delivery_option_radio'), function() { $.each($('.delivery_option_radio'), function() {
if ($(this).attr('checked')) if ($(this).attr('checked'))
{
$(this).parent().find('.delivery_option_carrier').show(); $(this).parent().find('.delivery_option_carrier').show();
var carrier_id_list = $(this).val().split(',');
carrier_id_list.pop();
var it = this;
$(carrier_id_list).each(function() {
$(it).parent().find('input[value="'+this.toString()+'"]').change();
});
}
else else
$(this).parent().find('.delivery_option_carrier').hide(); $(this).parent().find('.delivery_option_carrier').hide();
}); });
@@ -658,3 +666,25 @@ $(document).ready(function() {
} }
); );
}); });
function updateExtraCarrier(id_delivery_option, id_address)
{
if(typeof(orderOpcUrl) != 'undefined')
var url = orderOpcUrl;
else
var url = orderUrl;
$.ajax({
type: 'POST',
url: url,
async: true,
cache: false,
dataType : "json",
data: 'ajax=true&method=updateExtraCarrier&id_address='+id_address+'&id_delivery_option='+id_delivery_option+'&token=' + static_token,
success: function(jsonData)
{
console.log(jsonData);
$('#HOOK_EXTRACARRIER_'+id_address).html(jsonData['content']);
}
});
}
+4 -3
View File
@@ -28,8 +28,9 @@ function updateCarrierList(json)
{ {
var html = json.carrier_block; var html = json.carrier_block;
if (json.HOOK_EXTRACARRIER !== null && json.HOOK_EXTRACARRIER != undefined) // @todo check with theme 1.4
html += json.HOOK_EXTRACARRIER; //if ($('#HOOK_EXTRACARRIER').length == 0 && json.HOOK_EXTRACARRIER !== null && json.HOOK_EXTRACARRIER != undefined)
// html += json.HOOK_EXTRACARRIER;
$('#carrier_area').replaceWith(html); $('#carrier_area').replaceWith(html);
@@ -181,7 +182,7 @@ function updateCarrierSelectionAndGift()
$('#opc_payment_methods-overlay').fadeOut('slow'); $('#opc_payment_methods-overlay').fadeOut('slow');
$('#opc_delivery_methods-overlay').fadeOut('slow'); $('#opc_delivery_methods-overlay').fadeOut('slow');
} }
}); });
} }
function confirmFreeOrder() function confirmFreeOrder()
@@ -25,9 +25,9 @@
*} *}
<p>{l s='Choose the delivery addresses:'}</p> <p>{l s='Choose the delivery addresses:'}</p>
<script type="text/javascript"> <script type="text/javascript">
CloseTxt = '{l s='Submit'}'; CloseTxt = '{l s='Submit' js=1}';
QtyChanged = '{l s='Some product quantities has changed, please check them.'}'; QtyChanged = '{l s='Some product quantities has changed, please check them.' js=1}';
ShipToAnOtherAddress = '{l s='Ship to multiple addresses'}'; ShipToAnOtherAddress = '{l s='Ship to multiple addresses' js=1}';
</script> </script>
<div id="order-detail-content" class="table_block"> <div id="order-detail-content" class="table_block">
<table id="cart_summary" class="std"> <table id="cart_summary" class="std">
+9 -4
View File
@@ -34,6 +34,7 @@
var currencyBlank = '{$currencyBlank|intval}'; var currencyBlank = '{$currencyBlank|intval}';
var txtProduct = "{l s='product'}"; var txtProduct = "{l s='product'}";
var txtProducts = "{l s='products'}"; var txtProducts = "{l s='products'}";
var orderUrl = '{$link->getPageLink("order", true)}';
var msg = "{l s='You must agree to the terms of service before continuing.' js=1}"; var msg = "{l s='You must agree to the terms of service before continuing.' js=1}";
{literal} {literal}
@@ -117,7 +118,7 @@
<div class="delivery_options"> <div class="delivery_options">
{foreach $option_list as $key => $option} {foreach $option_list as $key => $option}
<div class="delivery_option {if ($option@index % 2)}alternate_{/if}item"> <div class="delivery_option {if ($option@index % 2)}alternate_{/if}item">
<input class="delivery_option_radio" type="radio" name="delivery_option[{$id_address}]" {if $opc}onclick="updateCarrierSelectionAndGift();"{/if} id="delivery_option_{$id_address}_{$option@index}" value="{$key}" {if $delivery_option[$id_address] == $key}checked="checked"{/if} /> <input class="delivery_option_radio" type="radio" name="delivery_option[{$id_address}]" onclick="{if $opc}updateCarrierSelectionAndGift();{else}updateExtraCarrier('{$key}', {$id_address});{/if}" id="delivery_option_{$id_address}_{$option@index}" value="{$key}" {if $delivery_option[$id_address] == $key}checked="checked"{/if} />
<label for="delivery_option_{$id_address}_{$option@index}"> <label for="delivery_option_{$id_address}_{$option@index}">
<table class="resume"> <table class="resume">
<tr> <tr>
@@ -132,7 +133,6 @@
{/foreach} {/foreach}
</td> </td>
<td> <td>
{if $option.unique_carrier} {if $option.unique_carrier}
{foreach $option.carrier_list as $carrier} {foreach $option.carrier_list as $carrier}
{$carrier.instance->name} {$carrier.instance->name}
@@ -167,18 +167,22 @@
</td> </td>
</tr> </tr>
</table> </table>
<table class="delivery_option_carrier"> <table class="delivery_option_carrier {if $delivery_option[$id_address] == $key}selected{/if}">
{foreach $option.carrier_list as $carrier} {foreach $option.carrier_list as $carrier}
<tr> <tr>
{if !$option.unique_carrier} {if !$option.unique_carrier}
<td class="first_item"> <td class="first_item">
<input type="hidden" value="{$carrier.instance->id}" name="id_carrier" />
{if $carrier.logo} {if $carrier.logo}
<img src="{$carrier.logo}" alt="{$carrier.instance->name}"/> <img src="{$carrier.logo}" alt="{$carrier.instance->name}"/>
{/if} {/if}
</td> </td>
<td>{$carrier.instance->name}</td> <td>
{$carrier.instance->name}
</td>
{/if} {/if}
<td {if $option.unique_carrier}class="first_item" colspan="2"{/if}> <td {if $option.unique_carrier}class="first_item" colspan="2"{/if}>
<input type="hidden" value="{$carrier.instance->id}" name="id_carrier" />
{if isset($carrier.instance->delay[$cookie->id_lang])} {if isset($carrier.instance->delay[$cookie->id_lang])}
{$carrier.instance->delay[$cookie->id_lang]} {$carrier.instance->delay[$cookie->id_lang]}
{/if} {/if}
@@ -190,6 +194,7 @@
</div> </div>
{/foreach} {/foreach}
</div> </div>
<div id="HOOK_EXTRACARRIER_{$id_address}">{$HOOK_EXTRACARRIER_ADDR.$id_address}</div>
{foreachelse} {foreachelse}
<p class="warning" id="noCarrierWarning"> <p class="warning" id="noCarrierWarning">
{if $cart->isMultiAddressDelivery()} {if $cart->isMultiAddressDelivery()}