[*] FO: Don't make useless ajax requests to blockcart on the cart page
This commit is contained in:
@@ -335,7 +335,8 @@ class CartControllerCore extends FrontController
|
||||
if ($result['customizedDatas'])
|
||||
Product::addCustomizationPrice($result['summary']['products'], $result['customizedDatas']);
|
||||
|
||||
die(Tools::jsonEncode($result));
|
||||
Hook::exec('actionCartListOverride', array('summary' => $result, 'json' => &$json));
|
||||
die(Tools::jsonEncode(array_merge($result, (array)Tools::jsonDecode($json, true))));
|
||||
}
|
||||
// @todo create a hook
|
||||
elseif (file_exists(_PS_MODULE_DIR_.'/blockcart/blockcart-ajax.php'))
|
||||
|
||||
@@ -5,4 +5,6 @@ ALTER TABLE `PREFIX_store` CHANGE `latitude` `latitude` DECIMAL( 13, 8 ) NULL
|
||||
INSERT INTO `PREFIX_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES('PS_CUSTOMER_CREATION_EMAIL', 1, NOW(), NOW());
|
||||
|
||||
ALTER TABLE `PREFIX_webservice_account` CHANGE `class_name` `class_name` VARCHAR(64) NOT NULL DEFAULT 'WebserviceRequest',
|
||||
CHANGE `module_name` `module_name` VARCHAR(64) NULL DEFAULT NULL;
|
||||
CHANGE `module_name` `module_name` VARCHAR(64) NULL DEFAULT NULL;
|
||||
|
||||
/* PHP:add_module_to_hook(blockcart, actionCartListOverride); */;
|
||||
@@ -164,6 +164,7 @@ class BlockCart extends Module
|
||||
parent::install() == false
|
||||
|| $this->registerHook('top') == false
|
||||
|| $this->registerHook('header') == false
|
||||
|| $this->registerHook('actionCartListOverride') == false
|
||||
|| Configuration::updateValue('PS_BLOCK_CART_AJAX', 1) == false)
|
||||
return false;
|
||||
return true;
|
||||
@@ -195,10 +196,20 @@ class BlockCart extends Module
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function hookActionCartListOverride($params)
|
||||
{
|
||||
if (!Configuration::get('PS_BLOCK_CART_AJAX'))
|
||||
return;
|
||||
|
||||
$this->assignContentVars(array('cookie' => $this->context->cookie, 'cart' => $this->context->cart));
|
||||
$params['json'] = $this->display(__FILE__, 'blockcart-json.tpl');
|
||||
}
|
||||
|
||||
public function hookHeader()
|
||||
{
|
||||
if (Configuration::get('PS_CATALOG_MODE'))
|
||||
return;
|
||||
|
||||
$this->context->controller->addCSS(($this->_path).'blockcart.css', 'all');
|
||||
if ((int)(Configuration::get('PS_BLOCK_CART_AJAX')))
|
||||
$this->context->controller->addJS(($this->_path).'ajax-cart.js');
|
||||
|
||||
@@ -106,6 +106,8 @@ function changeAddressDelivery(obj)
|
||||
if ($('#product_'+id_product+'_'+id_product_attribute+'_0_'+new_id_address_delivery).length)
|
||||
{
|
||||
updateCartSummary(jsonData.summary);
|
||||
if (window.ajaxCart != undefined)
|
||||
ajaxCart.updateCart(jsonData);
|
||||
updateCustomizedDatas(jsonData.customizedDatas);
|
||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||
updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
|
||||
@@ -119,9 +121,8 @@ function changeAddressDelivery(obj)
|
||||
// @todo improve customization upgrading
|
||||
$('.product_'+id_product+'_'+id_product_attribute+'_0_'+old_id_address_delivery).remove();
|
||||
}
|
||||
|
||||
if (window.ajaxCart != undefined)
|
||||
ajaxCart.refresh();
|
||||
ajaxCart.updateCart(jsonData);
|
||||
updateAddressId(id_product, id_product_attribute, old_id_address_delivery, new_id_address_delivery);
|
||||
cleanSelectAddressDelivery();
|
||||
}
|
||||
@@ -190,9 +191,8 @@ function changeAddressDelivery(obj)
|
||||
cleanSelectAddressDelivery();
|
||||
|
||||
updateCartSummary(jsonData.summary);
|
||||
|
||||
if (window.ajaxCart !== undefined)
|
||||
ajaxCart.refresh();
|
||||
ajaxCart.updateCart(jsonData);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -370,6 +370,8 @@ function deleteProductFromSummary(id)
|
||||
});
|
||||
}
|
||||
updateCartSummary(jsonData.summary);
|
||||
if (window.ajaxCart != undefined)
|
||||
ajaxCart.updateCart(jsonData);
|
||||
updateCustomizedDatas(jsonData.customizedDatas);
|
||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||
updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
|
||||
@@ -461,6 +463,8 @@ function upQuantity(id, qty)
|
||||
if (jsonData.refresh)
|
||||
location.reload();
|
||||
updateCartSummary(jsonData.summary);
|
||||
if (window.ajaxCart != undefined)
|
||||
ajaxCart.updateCart(jsonData);
|
||||
if (customizationId !== 0)
|
||||
updateCustomizedDatas(jsonData.customizedDatas);
|
||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||
@@ -544,6 +548,8 @@ function downQuantity(id, qty)
|
||||
if (jsonData.refresh)
|
||||
location.reload();
|
||||
updateCartSummary(jsonData.summary);
|
||||
if (window.ajaxCart !== undefined)
|
||||
ajaxCart.updateCart(jsonData);
|
||||
if (customizationId !== 0)
|
||||
updateCustomizedDatas(jsonData.customizedDatas);
|
||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||
@@ -754,8 +760,6 @@ function updateCartSummary(json)
|
||||
$('#total_wrapping').html(formatCurrency(json.total_wrapping, currencyFormat, currencySign, currencyBlank));
|
||||
$('#total_wrapping').parent().hide();
|
||||
}
|
||||
if (window.ajaxCart !== undefined)
|
||||
ajaxCart.refresh();
|
||||
}
|
||||
|
||||
function updateCustomizedDatas(json)
|
||||
|
||||
Reference in New Issue
Block a user