[-] FO: Fix weird bugs with customized products in FO #PSCFV-3377
This commit is contained in:
@@ -305,9 +305,16 @@ class CartControllerCore extends FrontController
|
|||||||
$result['HOOK_SHOPPING_CART'] = Hook::exec('displayShoppingCartFooter', $result['summary']);
|
$result['HOOK_SHOPPING_CART'] = Hook::exec('displayShoppingCartFooter', $result['summary']);
|
||||||
$result['HOOK_SHOPPING_CART_EXTRA'] = Hook::exec('displayShoppingCart', $result['summary']);
|
$result['HOOK_SHOPPING_CART_EXTRA'] = Hook::exec('displayShoppingCart', $result['summary']);
|
||||||
|
|
||||||
// Display reduced price (or not) without quantity discount
|
foreach ($result['summary']['products'] as $key => &$product)
|
||||||
if (Tools::getIsset('getproductprice'))
|
{
|
||||||
foreach ($result['summary']['products'] as $key => &$product)
|
$product['quantity_without_customization'] = $product['quantity'];
|
||||||
|
if ($result['customizedDatas'])
|
||||||
|
{
|
||||||
|
foreach ($result['customizedDatas'][(int)$product['id_product']][(int)$product['id_product_attribute']] as $addresses)
|
||||||
|
foreach ($addresses as $customization)
|
||||||
|
$product['quantity_without_customization'] -= (int)$customization['quantity'];
|
||||||
|
}
|
||||||
|
if (Tools::getIsset('getproductprice'))
|
||||||
$product['price_without_quantity_discount'] = Product::getPriceStatic(
|
$product['price_without_quantity_discount'] = Product::getPriceStatic(
|
||||||
$product['id_product'],
|
$product['id_product'],
|
||||||
!Product::getTaxCalculationMethod(),
|
!Product::getTaxCalculationMethod(),
|
||||||
@@ -317,6 +324,10 @@ class CartControllerCore extends FrontController
|
|||||||
false,
|
false,
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
if ($result['customizedDatas'])
|
||||||
|
Product::addCustomizationPrice($result['summary']['products'], $result['customizedDatas']);
|
||||||
|
|
||||||
die(Tools::jsonEncode($result));
|
die(Tools::jsonEncode($result));
|
||||||
}
|
}
|
||||||
// @todo create a hook
|
// @todo create a hook
|
||||||
|
|||||||
@@ -599,19 +599,13 @@ function updateCartSummary(json)
|
|||||||
|
|
||||||
nbrProducts += parseInt(product_list[i].quantity);
|
nbrProducts += parseInt(product_list[i].quantity);
|
||||||
|
|
||||||
if(product_list[i].id_customization == null || product_list[i].id_customization == 0)
|
$('input[name=quantity_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_0_'+product_list[i].id_address_delivery+']').val(product_list[i].quantity_without_customization);
|
||||||
{
|
$('input[name=quantity_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_0_'+product_list[i].id_address_delivery+'_hidden]').val(product_list[i].quantity_without_customization);
|
||||||
$('input[name=quantity_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_0_'+product_list[i].id_address_delivery+']').val(product_list[i].quantity);
|
|
||||||
$('input[name=quantity_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_0_'+product_list[i].id_address_delivery+'_hidden]').val(product_list[i].quantity);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$('#cart_quantity_custom_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_'+product_list[i].id_address_delivery)
|
|
||||||
.html(product_list[i].quantity);
|
|
||||||
|
|
||||||
$('input[name=quantity_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_'+product_list[i].id_customization+'_'+product_list[i].id_address_delivery+']')
|
$('#cart_quantity_custom_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_'+product_list[i].id_address_delivery)
|
||||||
.val(product_list[i].customization_quantity);
|
.html(product_list[i].customizationQuantityTotal);
|
||||||
}
|
$('input[name=quantity_'+product_list[i].id_product+'_'+product_list[i].id_product_attribute+'_'+product_list[i].id_customization+'_'+product_list[i].id_address_delivery+']')
|
||||||
|
.val(product_list[i].customizationQuantityTotal);
|
||||||
|
|
||||||
// Show / hide quantity button if minimal quantity
|
// Show / hide quantity button if minimal quantity
|
||||||
if (parseInt(product_list[i].minimal_quantity) == parseInt(product_list[i].quantity) && product_list[i].minimal_quantity != 1)
|
if (parseInt(product_list[i].minimal_quantity) == parseInt(product_list[i].quantity) && product_list[i].minimal_quantity != 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user