diff --git a/modules/blockcart/ajax-cart.js b/modules/blockcart/ajax-cart.js index a31c22462..b517d106a 100644 --- a/modules/blockcart/ajax-cart.js +++ b/modules/blockcart/ajax-cart.js @@ -81,8 +81,10 @@ var ajaxCart = { productAttributeId = parseInt(ids[1]); } + var idAddressDelivery = $(this).parent().parent().attr('id').match(/.*_\d+_\d+_(\d+)/)[1]; + // Removing product from the cart - ajaxCart.remove(productId, productAttributeId, customizationId); + ajaxCart.remove(productId, productAttributeId, customizationId, idAddressDelivery); return false; }); }, @@ -243,7 +245,7 @@ var ajaxCart = { }, //remove a product from the cart via ajax - remove : function(idProduct, idCombination, customizationId){ + remove : function(idProduct, idCombination, customizationId, idAddressDelivery){ //send the ajax request to the server $.ajax({ type: 'POST', @@ -251,7 +253,7 @@ var ajaxCart = { async: true, cache: false, dataType : "json", - data: 'controller=cart&delete=1&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&token=' + static_token + '&ajax=true', + data: 'controller=cart&delete=1&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&id_address_delivery=' + idAddressDelivery + '&token=' + static_token + '&ajax=true', success: function(jsonData) { ajaxCart.updateCart(jsonData); if ($('body').attr('id') == 'order' || $('body').attr('id') == 'order-opc') diff --git a/modules/blockcart/blockcart-json.tpl b/modules/blockcart/blockcart-json.tpl index da780e050..7a1ecc6cd 100644 --- a/modules/blockcart/blockcart-json.tpl +++ b/modules/blockcart/blockcart-json.tpl @@ -38,6 +38,7 @@ "name": "{$product.name|html_entity_decode:2:'UTF-8'|escape|truncate:15:'...':true}", "price": "{if $priceDisplay == $smarty.const.PS_TAX_EXC}{displayWtPrice|html_entity_decode:2:'UTF-8' p=$product.total}{else}{displayWtPrice|html_entity_decode:2:'UTF-8' p=$product.total_wt}{/if}", "idCombination": {if isset($product.attributes_small)}{$productAttributeId}{else}0{/if}, + "idAddressDelivery": {if isset($product.id_address_delivery)}{$product.id_address_delivery}{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 25c84420f..24b0a8851 100644 --- a/modules/blockcart/blockcart.php +++ b/modules/blockcart/blockcart.php @@ -94,7 +94,8 @@ class BlockCart extends Module 'product_total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency), 'total' => Tools::displayPrice($totalToPay, $currency), 'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order', - 'ajax_allowed' => (int)(Configuration::get('PS_BLOCK_CART_AJAX')) == 1 ? true : false + 'ajax_allowed' => (int)(Configuration::get('PS_BLOCK_CART_AJAX')) == 1 ? true : false, + 'static_token' => Tools::getToken(false) )); if (sizeof($errors)) $this->smarty->assign('errors', $errors); diff --git a/modules/blockcart/blockcart.tpl b/modules/blockcart/blockcart.tpl index 3d4a9776d..e02d1ccfd 100644 --- a/modules/blockcart/blockcart.tpl +++ b/modules/blockcart/blockcart.tpl @@ -60,11 +60,11 @@ var removingLinkText = '{l s='remove this product from my cart' mod='blockcart' {foreach from=$products item='product' name='myLoop'} {assign var='productId' value=$product.id_product} {assign var='productAttributeId' value=$product.id_product_attribute} -