// Release branch merged
This commit is contained in:
@@ -84,7 +84,7 @@ $(document).ready(function() {
|
||||
{/if}
|
||||
</p>
|
||||
|
||||
<form action="{$link->getPageLink('address', true)}" method="post" id="add_adress">
|
||||
<form action="{$link->getPageLink('address', true)}" method="post" id="add_address" data-ajax="false">
|
||||
<legend><h3>{if isset($id_address) && $id_address != 0}{l s='Your address'}{else}{l s='New address'}{/if}</h3></legend>
|
||||
<div class="required text dni">
|
||||
<label for="dni">{l s='Identification number'}</label>
|
||||
|
||||
@@ -29,6 +29,10 @@
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.width-15 {
|
||||
width:15%;
|
||||
}
|
||||
|
||||
.width-20 {
|
||||
width:20%;
|
||||
}
|
||||
@@ -37,6 +41,10 @@
|
||||
width:40%;
|
||||
}
|
||||
|
||||
.width-60 {
|
||||
width:60%;
|
||||
}
|
||||
|
||||
.width-70 {
|
||||
width:70%;
|
||||
}
|
||||
|
||||
@@ -88,6 +88,20 @@ function initEvent()
|
||||
});
|
||||
}
|
||||
|
||||
function updateCarrierList(json)
|
||||
{
|
||||
var html = json.carrier_block;
|
||||
|
||||
// @todo check with theme 1.4
|
||||
//if ($('#HOOK_EXTRACARRIER').length == 0 && json.HOOK_EXTRACARRIER !== null && json.HOOK_EXTRACARRIER != undefined)
|
||||
// html += json.HOOK_EXTRACARRIER;
|
||||
|
||||
$('#carrier_area').replaceWith(html);
|
||||
bindInputs();
|
||||
/* update hooks for carrier module */
|
||||
$('#HOOK_BEFORECARRIER').html(json.HOOK_BEFORECARRIER);
|
||||
}
|
||||
|
||||
function giftShowDiv()
|
||||
{
|
||||
if ($('#gift').is(':checked'))
|
||||
@@ -134,3 +148,161 @@ function updateCarrierSection(elm)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function bindInputs()
|
||||
{
|
||||
// Order message update
|
||||
$('#message').blur(function() {
|
||||
$('#opc_delivery_methods-overlay').fadeIn('slow');
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
headers: { "cache-control": "no-cache" },
|
||||
url: orderOpcUrl + '?rand=' + new Date().getTime(),
|
||||
async: false,
|
||||
cache: false,
|
||||
dataType : "json",
|
||||
data: 'ajax=true&method=updateMessage&message=' + encodeURIComponent($('#message').val()) + '&token=' + static_token ,
|
||||
success: function(jsonData)
|
||||
{
|
||||
if (jsonData.hasError)
|
||||
{
|
||||
var errors = '';
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
$('#opc_delivery_methods-overlay').fadeOut('slow');
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
if (textStatus !== 'abort')
|
||||
alert("TECHNICAL ERROR: unable to save message \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
|
||||
$('#opc_delivery_methods-overlay').fadeOut('slow');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Recyclable checkbox
|
||||
$('#recyclable').click(function() {
|
||||
updateCarrierSelectionAndGift();
|
||||
});
|
||||
|
||||
// Gift checkbox update
|
||||
$('#gift').click(function() {
|
||||
if ($('#gift').is(':checked'))
|
||||
$('#gift_div').show();
|
||||
else
|
||||
$('#gift_div').hide();
|
||||
updateCarrierSelectionAndGift();
|
||||
});
|
||||
|
||||
if ($('#gift').is(':checked'))
|
||||
$('#gift_div').show();
|
||||
else
|
||||
$('#gift_div').hide();
|
||||
|
||||
// Gift message update
|
||||
$('#gift_message').change(function() {
|
||||
updateCarrierSelectionAndGift();
|
||||
});
|
||||
|
||||
// Term Of Service (TOS)
|
||||
$('#cgv').click(function() {
|
||||
updatePaymentMethodsDisplay();
|
||||
});
|
||||
}
|
||||
|
||||
function updateCarrierSelectionAndGift()
|
||||
{
|
||||
var recyclablePackage = 0;
|
||||
var gift = 0;
|
||||
var giftMessage = '';
|
||||
|
||||
var delivery_option_radio = $('.delivery_option_radio');
|
||||
var delivery_option_params = '&';
|
||||
$.each(delivery_option_radio, function(i) {
|
||||
if ($(this).prop('checked'))
|
||||
delivery_option_params += $(delivery_option_radio[i]).attr('name') + '=' + $(delivery_option_radio[i]).val() + '&';
|
||||
});
|
||||
if (delivery_option_params == '&')
|
||||
delivery_option_params = '&delivery_option=&';
|
||||
|
||||
if ($('input#recyclable:checked').length)
|
||||
recyclablePackage = 1;
|
||||
if ($('input#gift:checked').length)
|
||||
{
|
||||
gift = 1;
|
||||
giftMessage = encodeURIComponent($('#gift_message').val());
|
||||
}
|
||||
|
||||
$('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow');
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
headers: { "cache-control": "no-cache" },
|
||||
url: orderOpcUrl + '?rand=' + new Date().getTime(),
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType : "json",
|
||||
data: 'ajax=true&method=updateCarrierAndGetPayments' + delivery_option_params + 'recyclable=' + recyclablePackage + '&gift=' + gift + '&gift_message=' + giftMessage + '&token=' + static_token ,
|
||||
success: function(jsonData)
|
||||
{
|
||||
if (jsonData.hasError)
|
||||
{
|
||||
var errors = '';
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
{
|
||||
updateCartSummary(jsonData.summary);
|
||||
updatePaymentMethods(jsonData);
|
||||
updateHookShoppingCart(jsonData.summary.HOOK_SHOPPING_CART);
|
||||
updateHookShoppingCartExtra(jsonData.summary.HOOK_SHOPPING_CART_EXTRA);
|
||||
updateCarrierList(jsonData.carrier_data);
|
||||
$('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow');
|
||||
refreshDeliveryOptions();
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
if (textStatus !== 'abort')
|
||||
alert("TECHNICAL ERROR: unable to save carrier \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
|
||||
$('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updatePaymentMethods(json)
|
||||
{
|
||||
$('#HOOK_TOP_PAYMENT').html(json.HOOK_TOP_PAYMENT);
|
||||
$('#opc_payment_methods-content #HOOK_PAYMENT').html(json.HOOK_PAYMENT);
|
||||
}
|
||||
|
||||
function updatePaymentMethodsDisplay()
|
||||
{
|
||||
var checked = '';
|
||||
if ($('#cgv:checked').length !== 0)
|
||||
checked = 1;
|
||||
else
|
||||
checked = 0;
|
||||
$('#opc_payment_methods-overlay').fadeIn('slow', function(){
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
headers: { "cache-control": "no-cache" },
|
||||
url: orderOpcUrl + '?rand=' + new Date().getTime(),
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType : "json",
|
||||
data: 'ajax=true&method=updateTOSStatusAndGetPayments&checked=' + checked + '&token=' + static_token,
|
||||
success: function(json)
|
||||
{
|
||||
updatePaymentMethods(json);
|
||||
}
|
||||
});
|
||||
$(this).fadeOut('slow');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ var ProductFn = (function()
|
||||
return true;
|
||||
}
|
||||
ProductFn.already_init = true;
|
||||
if ($('.attributes_group select').length) {
|
||||
if ($('.attributes_group select').length || $('.attributes_group input[type=radio]').length) {
|
||||
initAttrSelector();
|
||||
}
|
||||
ProductFn.checkMinimalQuantity();
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
<span class="delivery_option_carrier ui-block-b {if isset($delivery_option[$id_address]) && $delivery_option[$id_address] == $key}selected{/if} {if $option.unique_carrier}not-displayable{/if}">
|
||||
<span class="delivery_option_carrier_desc ui-block-b {if isset($delivery_option[$id_address]) && $delivery_option[$id_address] == $key}selected{/if} {if $option.unique_carrier}not-displayable{/if}">
|
||||
{foreach $option.carrier_list as $carrier}
|
||||
<tr>
|
||||
{if !$option.unique_carrier}
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
<ul data-role="listview" >
|
||||
{foreach from=$order->getShipping() item=line}
|
||||
<li>
|
||||
<h3>{$line.state_name}</h3>
|
||||
<h3>{$line.carrier_name}</h3>
|
||||
<p><strong>{l s='Weight'}</strong> {$line.weight|string_format:"%.3f"} {Configuration::get('PS_WEIGHT_UNIT')}</p>
|
||||
<p><strong>{l s='Shipping cost'}</strong> {if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_INC}{displayPrice price=$line.shipping_cost_tax_incl currency=$currency->id}{else}{displayPrice price=$line.shipping_cost_tax_excl currency=$currency->id}{/if}</p>
|
||||
<p><strong>{l s='Tracking number'}</strong> {if $line.url && $line.tracking_number}<a href="{$line.url|replace:'@':$line.tracking_number}" data-ajax="false">{$line.tracking_number}</a>{elseif $line.tracking_number != ''}{$line.tracking_number}{else}----{/if}</p>
|
||||
|
||||
@@ -26,16 +26,112 @@
|
||||
{capture assign='page_title'}{l s='Shipping:'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var orderProcess = 'order';
|
||||
var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
|
||||
var currencyRate = '{$currencyRate|floatval}';
|
||||
var currencyFormat = '{$currencyFormat|intval}';
|
||||
var currencyBlank = '{$currencyBlank|intval}';
|
||||
var txtProduct = "{l s='product' js=1}";
|
||||
var txtProducts = "{l s='products' js=1}";
|
||||
var orderUrl = '{$link->getPageLink("order", true)}';
|
||||
|
||||
var msg = "{l s='You must agree to the terms of service before continuing.' js=1}";
|
||||
{literal}
|
||||
function acceptCGV()
|
||||
{
|
||||
if ($('#cgv').length && !$('input#cgv:checked').length)
|
||||
{
|
||||
alert(msg);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
{/literal}
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<div data-role="content" id="delivery_choose">
|
||||
<h3 class="bg">{l s='Choose your delivery method'}</h3>
|
||||
<fieldset data-role="controlgroup">
|
||||
{if isset($delivery_option_list)}
|
||||
{foreach $delivery_option_list as $id_address => $option_list}
|
||||
{foreach $option_list as $key => $option}
|
||||
{foreach $option.carrier_list as $carrier}
|
||||
<input type="radio" name="delivery_option[{$id_address}]" class="delivery_option_radio delivery_option_radio_carrier" id="opc_carrier_{$carrier.instance->id}" value="{$carrier.instance->id}" {if isset($delivery_option[$id_address]) && $delivery_option[$id_address] == $key}checked="checked"{/if} />
|
||||
<label for="opc_carrier_{$carrier.instance->id}">{$carrier.instance->name}</label>
|
||||
{/foreach}
|
||||
<div class="delivery_option {if ($option@index % 2)}alternate_{/if}item">
|
||||
<input class="delivery_option_radio" type="radio" name="delivery_option[{$id_address}]" onchange="{if $opc}updateCarrierSelectionAndGift();{else}updateExtraCarrier('{$key}', {$id_address});{/if}" id="delivery_option_{$id_address}_{$option@index}" value="{$key}" {if isset($delivery_option[$id_address]) && $delivery_option[$id_address] == $key}checked="checked"{/if} />
|
||||
<label for="delivery_option_{$id_address}_{$option@index}">
|
||||
<div class="ui-grid-a">
|
||||
<span class="resume ui-block-a">
|
||||
<div class="ui-grid-b">
|
||||
<p class="delivery_option_logo ui-block-a">
|
||||
{foreach $option.carrier_list as $carrier}
|
||||
{if $carrier.logo}
|
||||
<img src="{$carrier.logo}" alt="{$carrier.instance->name}"/>
|
||||
{else if !$option.unique_carrier}
|
||||
{$carrier.instance->name}
|
||||
{if !$carrier@last} - {/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</p>
|
||||
<div class="ui-block-b" style="padding-left:4px;">
|
||||
{if $option.unique_carrier}
|
||||
{foreach $option.carrier_list as $carrier}
|
||||
<div class="delivery_option_title">{$carrier.instance->name}</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</div>
|
||||
<div class="ui-block-c">
|
||||
<div class="delivery_option_price">
|
||||
{if $option.total_price_with_tax && !$free_shipping}
|
||||
{if $use_taxes == 1}
|
||||
{convertPrice price=$option.total_price_with_tax} {l s='(tax incl.)'}
|
||||
{else}
|
||||
{convertPrice price=$option.total_price_without_tax} {l s='(tax excl.)'}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Free'}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
<span class="delivery_option_carrier_desc ui-block-b {if isset($delivery_option[$id_address]) && $delivery_option[$id_address] == $key}selected{/if} {if $option.unique_carrier}not-displayable{/if}">
|
||||
{foreach $option.carrier_list as $carrier}
|
||||
<tr>
|
||||
{if !$option.unique_carrier}
|
||||
<td class="first_item">
|
||||
<input type="hidden" value="{$carrier.instance->id}" name="id_carrier" />
|
||||
{if $carrier.logo}
|
||||
<img src="{$carrier.logo}" alt="{$carrier.instance->name}"/>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
{$carrier.instance->name}
|
||||
</td>
|
||||
{/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])}
|
||||
{$carrier.instance->delay[$cookie->id_lang]}<br />
|
||||
{if count($carrier.product_list) <= 1}
|
||||
({l s='Product concerned:'}
|
||||
{else}
|
||||
({l s='Products concerned:'}
|
||||
{/if}
|
||||
{* This foreach is on one line, to avoid tabulation in the title attribute of the acronym *}
|
||||
{foreach $carrier.product_list as $product}
|
||||
{if $product@index == 4}<acronym title="{/if}{if $product@index >= 4}{$product.name}{if !$product@last}, {else}">...</acronym>){/if}{else}{$product.name}{if !$product@last}, {else}){/if}{/if}{/foreach}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</span>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/if}
|
||||
@@ -45,15 +141,26 @@
|
||||
<label for="recyclable">{l s='I agree to receive my order in recycled packaging'}.</label>
|
||||
</fieldset>
|
||||
|
||||
<h3 class="bg">{l s='Gift'}</h3>
|
||||
<fieldset data-role="fieldcontain">
|
||||
<input type="checkbox" id="gift" name="gift" value="1" class="delivery_option_radio" {if $cart->gift == 1}checked="checked"{/if} />
|
||||
<label for="gift">{l s='I would like my order to be gift-wrapped.'}</label>
|
||||
</fieldset>
|
||||
<p class="textarea" id="gift_div" style="display: none;">
|
||||
<label for="gift_message">{l s='If you would like, feel free to add a personalized message.'}</label>
|
||||
<textarea name="gift_message" id="gift_message" cols="35" rows="5">{$cart->gift_message|escape:'htmlall':'UTF-8'}</textarea>
|
||||
</p>
|
||||
{if $giftAllowed}
|
||||
<h3 class="gift_title">{l s='Gift'}</h3>
|
||||
<p class="checkbox">
|
||||
<input type="checkbox" name="gift" id="gift" value="1" {if $cart->gift == 1}checked="checked"{/if} />
|
||||
<label for="gift">{l s='I would like my order to be gift wrapped.'}</label>
|
||||
<br />
|
||||
|
||||
{if $gift_wrapping_price > 0}
|
||||
({l s='Additional cost of'}
|
||||
<span class="price" id="gift-price">
|
||||
{if $priceDisplay == 1}{convertPrice price=$total_wrapping_tax_exc_cost}{else}{convertPrice price=$total_wrapping_cost}{/if}
|
||||
</span>
|
||||
{if $use_taxes}{if $priceDisplay == 1} {l s='(tax excl.)'}{else} {l s='(tax incl.)'}{/if}{/if})
|
||||
{/if}
|
||||
</p>
|
||||
<p id="gift_div" class="textarea">
|
||||
<label for="gift_message">{l s='If you\'d like, you can add a note to the gift:'}</label>
|
||||
<textarea rows="5" cols="35" id="gift_message" name="gift_message">{$cart->gift_message|escape:'htmlall':'UTF-8'}</textarea>
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
<h3 class="bg">{l s='Terms of service'}</h3>
|
||||
<fieldset data-role="fieldcontain" id="cgv_checkbox">
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
var errorCarrier = "{$errorCarrier}";
|
||||
var errorTOS = "{$errorTOS}";
|
||||
var checkedCarrier = "{if isset($checked)}{$checked}{else}0{/if}";
|
||||
var freeShippingTranslation = "{l s='Free shipping!' js=1}";
|
||||
|
||||
var addresses = new Array();
|
||||
var isLogged = {$isLogged|intval};
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
{if $HOOK_PAYMENT}
|
||||
{if !$opc}
|
||||
<div id="order-detail-content" class="table_block">
|
||||
<table id="cart_summary" class="std ui-responsive table-stroke" data-role="table" data-mode="reflow">
|
||||
<table id="cart_summary" data-role="table" class="ui-body-d ui-shadow ui-responsive table-stroke" data-mode="reflow">
|
||||
<thead>
|
||||
<tr>
|
||||
<tr class="ui-bar-a">
|
||||
<th class="cart_product first_item">{l s='Product'}</th>
|
||||
<th class="cart_description item">{l s='Description'}</th>
|
||||
<th class="cart_availability item">{l s='Avail.'}</th>
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
{*
|
||||
* 2007-2013 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<input type="hidden" name="cart_product_id[]" value="{$product.id_product}"/>
|
||||
<input type="hidden" id="cart_product_attribute_id_{$product.id_product}" value="{$product.id_product_attribute|intval}"/>
|
||||
<input type="hidden" id="cart_product_address_delivery_id_{$product.id_product}" value="{$product.id_address_delivery}"/>
|
||||
|
||||
<div class="fl width-20">
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'small_default')}" class="img_product_cart" />
|
||||
</div>
|
||||
<div class="fl width-60 padding-left-5px">
|
||||
<h3>{$product.name}</h3>
|
||||
{if $product.reference}<p>{l s='Ref:'} {$product.reference}</p>{/if}
|
||||
<p>{$product.description_short}</p>
|
||||
</div>
|
||||
<div class="fl width-15" style="text-align:right">
|
||||
<p class="price" id="product_price_{$product.id_product}_{$product.id_product_attribute}_{$product.id_address_delivery|intval}{if !empty($product.gift)}_gift{/if}" style="padding-top:20px">
|
||||
{if !empty($product.gift)}
|
||||
<h3 class="gift-icon" style="background-color:#0088CC;color:white;display:inline;padding:2px 14px;-webkit-border-radius:6px;border-radius:6px;font-weight:normal">{l s='Gift!'}</h3>
|
||||
{else}
|
||||
{if isset($product.is_discounted) && $product.is_discounted}
|
||||
<span style="text-decoration:line-through;">{convertPrice price=$product.price_without_specific_price}</span><br />
|
||||
{/if}
|
||||
{if !$priceDisplay}
|
||||
{convertPrice price=$product.price_wt}
|
||||
{else}
|
||||
{convertPrice price=$product.price}
|
||||
{/if}
|
||||
{/if}
|
||||
</p>
|
||||
</div>
|
||||
@@ -22,7 +22,7 @@
|
||||
<div class="fl width-20">
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'small_default')}" class="img_product_cart" />
|
||||
</div>
|
||||
<div class="fl width-70 padding-left-5px">
|
||||
<div class="fl width-60 padding-left-5px">
|
||||
<h3>{$product.name}</h3>
|
||||
{if $product.reference}<p>{l s='Ref:'} {$product.reference}</p>{/if}
|
||||
<p>{$product.description_short}</p>
|
||||
@@ -61,6 +61,22 @@
|
||||
<a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_0_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery|intval}&token={$token_cart}")}" data-ajax="false">{l s='Delete'}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{assign var='last_was_odd' value=$product@iteration%2}
|
||||
{foreach $gift_products as $product}
|
||||
<li id="element_product_{$product.id_product}">
|
||||
<a style="padding-right:10px">
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($product@iteration+$last_was_odd)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{assign var='cannotModify' value=1}
|
||||
{* Display the gift product line *}
|
||||
{include file="./shopping-cart-gift-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
</a>
|
||||
<a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_0_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery|intval}&token={$token_cart}")}" data-ajax="false" style="display:none">{l s='Delete'}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{if sizeof($discounts)}
|
||||
|
||||
Reference in New Issue
Block a user