diff --git a/modules/blockcart/ajax-cart.js b/modules/blockcart/ajax-cart.js
index 4bae73e82..40d5f9480 100644
--- a/modules/blockcart/ajax-cart.js
+++ b/modules/blockcart/ajax-cart.js
@@ -353,7 +353,7 @@ var ajaxCart = {
var removeLinks = $('#cart_block_product_' + domIdProduct).find('a.ajax_cart_block_remove_link');
if (!product.hasCustomizedDatas && !removeLinks.length)
$('#' + domIdProduct + ' span.remove_link').html(' ');
- if (parseFloat(product.price_float) <= 0)
+ if (product.is_gift)
$('#' + domIdProduct + ' span.remove_link').html('');
},
@@ -453,7 +453,7 @@ var ajaxCart = {
else
content += '';
if (typeof(freeShippingTranslation) != 'undefined')
- content += '' + (parseFloat(this.price_float) > 0 ? this.priceByLine : freeProductTranslation) + '';
+ content += '' + (parseFloat(this.price_float) > 0 ? this.priceByLine : freeShippingTranslation) + '';
content += '';
if (this.hasAttributes)
content += '
' + this.attributes + '';
@@ -470,7 +470,7 @@ var ajaxCart = {
if($('#cart_block_product_' + domIdProduct + ' .quantity').text() != jsonProduct.quantity || $('dt#cart_block_product_' + domIdProduct + ' .price').text() != jsonProduct.priceByLine)
{
// Usual product
- if (parseFloat(this.price_float) > 0)
+ if (!this.is_gift)
$('#cart_block_product_' + domIdProduct + ' .price').text(jsonProduct.priceByLine);
else
$('#cart_block_product_' + domIdProduct + ' .price').html(freeProductTranslation);
diff --git a/modules/blockcart/blockcart-json.tpl b/modules/blockcart/blockcart-json.tpl
index 86955ebba..341af6a50 100644
--- a/modules/blockcart/blockcart-json.tpl
+++ b/modules/blockcart/blockcart-json.tpl
@@ -39,6 +39,7 @@
"price_float": "{$product.total}",
"idCombination": {if isset($product.attributes_small)}{$productAttributeId}{else}0{/if},
"idAddressDelivery": {if isset($product.id_address_delivery)}{$product.id_address_delivery}{else}0{/if},
+ "is_gift" : {if isset($product.is_gift) && $product.is_gift}1{else}0{/if},
{if isset($product.attributes_small)}
"hasAttributes": true,
"attributes": "{$product.attributes_small|addslashes|replace:'\\\'':'\''}",
diff --git a/modules/blockcart/blockcart.php b/modules/blockcart/blockcart.php
index 2a9123775..cabc8fba4 100644
--- a/modules/blockcart/blockcart.php
+++ b/modules/blockcart/blockcart.php
@@ -89,6 +89,7 @@ class BlockCart extends Module
foreach ($products as &$product)
if ($product['id_product'] == $cart_rule['gift_product'] && $product['id_product_attribute'] == $cart_rule['gift_product_attribute'])
{
+ $product['is_gift'] = 1;
$product['total_wt'] = Tools::ps_round($product['total_wt'] - $product['price_wt'], (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_);
$product['total'] = Tools::ps_round($product['total'] - $product['price'], (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_);
$cart_rule['value_real'] = Tools::ps_round($cart_rule['value_real'] - $product['price_wt'], (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_);
diff --git a/modules/blockcart/blockcart.tpl b/modules/blockcart/blockcart.tpl
index 58aa03339..348c3a26e 100644
--- a/modules/blockcart/blockcart.tpl
+++ b/modules/blockcart/blockcart.tpl
@@ -78,9 +78,9 @@ var delete_txt = '{l s='Delete' mod='blockcart' js=1}';
{$product.cart_quantity}x
{$product.name|truncate:13:'...'|escape:html:'UTF-8'}
- {if !isset($customizedDatas.$productId.$productAttributeId) && ($product.total > 0)} {/if}
+ {if !isset($customizedDatas.$productId.$productAttributeId) && (!isset($product.is_gift) || !$product.is_gift)} {/if}
- {if $product.total > 0}
+ {if !isset($product.is_gift) || !$product.is_gift}
{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice p="`$product.total`"}{else}{displayWtPrice p="`$product.total_wt`"}{/if}
{else}
{l s='Free!' mod='blockcart'}
diff --git a/themes/default/modules/blockcart/blockcart.tpl b/themes/default/modules/blockcart/blockcart.tpl
index 34320bd5b..b728c0c8a 100644
--- a/themes/default/modules/blockcart/blockcart.tpl
+++ b/themes/default/modules/blockcart/blockcart.tpl
@@ -78,9 +78,9 @@ var delete_txt = '{l s='Delete' mod='blockcart' js=1}';
{$product.cart_quantity}x
{$product.name|truncate:13:'...'|escape:html:'UTF-8'}
- {if !isset($customizedDatas.$productId.$productAttributeId) && ($product.total > 0)} {/if}
+ {if !isset($customizedDatas.$productId.$productAttributeId) && (!isset($product.is_gift) || !$product.is_gift)} {/if}
- {if $product.total > 0}
+ {if !isset($product.is_gift) || !$product.is_gift}
{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice p="`$product.total`"}{else}{displayWtPrice p="`$product.total_wt`"}{/if}
{else}
{l s='Free!' mod='blockcart'}