[*] FO: Don't make useless ajax requests to blockcart on the cart page
This commit is contained in:
1 parent
0d4fd0729b
commit
3d9596aa99
4 files changed
+25
-7
No files matched your search
@@ -335,7 +335,8 @@ class CartControllerCore extends FrontController
|
|||||||
if ($result['customizedDatas'])
|
if ($result['customizedDatas'])
|
||||||
Product::addCustomizationPrice($result['summary']['products'], $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
|
// @todo create a hook
|
||||||
elseif (file_exists(_PS_MODULE_DIR_.'/blockcart/blockcart-ajax.php'))
|
elseif (file_exists(_PS_MODULE_DIR_.'/blockcart/blockcart-ajax.php'))
|
||||||
|
|||||||
@@ -6,3 +6,5 @@ INSERT INTO `PREFIX_configuration` (`name`, `value`, `date_add`, `date_upd`) VAL
|
|||||||
|
|
||||||
ALTER TABLE `PREFIX_webservice_account` CHANGE `class_name` `class_name` VARCHAR(64) NOT NULL DEFAULT 'WebserviceRequest',
|
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
|
parent::install() == false
|
||||||
|| $this->registerHook('top') == false
|
|| $this->registerHook('top') == false
|
||||||
|| $this->registerHook('header') == false
|
|| $this->registerHook('header') == false
|
||||||
|
|| $this->registerHook('actionCartListOverride') == false
|
||||||
|| Configuration::updateValue('PS_BLOCK_CART_AJAX', 1) == false)
|
|| Configuration::updateValue('PS_BLOCK_CART_AJAX', 1) == false)
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
@@ -195,10 +196,20 @@ class BlockCart extends Module
|
|||||||
return $res;
|
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()
|
public function hookHeader()
|
||||||
{
|
{
|
||||||
if (Configuration::get('PS_CATALOG_MODE'))
|
if (Configuration::get('PS_CATALOG_MODE'))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$this->context->controller->addCSS(($this->_path).'blockcart.css', 'all');
|
$this->context->controller->addCSS(($this->_path).'blockcart.css', 'all');
|
||||||
if ((int)(Configuration::get('PS_BLOCK_CART_AJAX')))
|
if ((int)(Configuration::get('PS_BLOCK_CART_AJAX')))
|
||||||
$this->context->controller->addJS(($this->_path).'ajax-cart.js');
|
$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)
|
if ($('#product_'+id_product+'_'+id_product_attribute+'_0_'+new_id_address_delivery).length)
|
||||||
{
|
{
|
||||||
updateCartSummary(jsonData.summary);
|
updateCartSummary(jsonData.summary);
|
||||||
|
if (window.ajaxCart != undefined)
|
||||||
|
ajaxCart.updateCart(jsonData);
|
||||||
updateCustomizedDatas(jsonData.customizedDatas);
|
updateCustomizedDatas(jsonData.customizedDatas);
|
||||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||||
updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
|
updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
|
||||||
@@ -119,9 +121,8 @@ function changeAddressDelivery(obj)
|
|||||||
// @todo improve customization upgrading
|
// @todo improve customization upgrading
|
||||||
$('.product_'+id_product+'_'+id_product_attribute+'_0_'+old_id_address_delivery).remove();
|
$('.product_'+id_product+'_'+id_product_attribute+'_0_'+old_id_address_delivery).remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.ajaxCart != undefined)
|
if (window.ajaxCart != undefined)
|
||||||
ajaxCart.refresh();
|
ajaxCart.updateCart(jsonData);
|
||||||
updateAddressId(id_product, id_product_attribute, old_id_address_delivery, new_id_address_delivery);
|
updateAddressId(id_product, id_product_attribute, old_id_address_delivery, new_id_address_delivery);
|
||||||
cleanSelectAddressDelivery();
|
cleanSelectAddressDelivery();
|
||||||
}
|
}
|
||||||
@@ -190,9 +191,8 @@ function changeAddressDelivery(obj)
|
|||||||
cleanSelectAddressDelivery();
|
cleanSelectAddressDelivery();
|
||||||
|
|
||||||
updateCartSummary(jsonData.summary);
|
updateCartSummary(jsonData.summary);
|
||||||
|
|
||||||
if (window.ajaxCart !== undefined)
|
if (window.ajaxCart !== undefined)
|
||||||
ajaxCart.refresh();
|
ajaxCart.updateCart(jsonData);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -370,6 +370,8 @@ function deleteProductFromSummary(id)
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
updateCartSummary(jsonData.summary);
|
updateCartSummary(jsonData.summary);
|
||||||
|
if (window.ajaxCart != undefined)
|
||||||
|
ajaxCart.updateCart(jsonData);
|
||||||
updateCustomizedDatas(jsonData.customizedDatas);
|
updateCustomizedDatas(jsonData.customizedDatas);
|
||||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||||
updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
|
updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
|
||||||
@@ -461,6 +463,8 @@ function upQuantity(id, qty)
|
|||||||
if (jsonData.refresh)
|
if (jsonData.refresh)
|
||||||
location.reload();
|
location.reload();
|
||||||
updateCartSummary(jsonData.summary);
|
updateCartSummary(jsonData.summary);
|
||||||
|
if (window.ajaxCart != undefined)
|
||||||
|
ajaxCart.updateCart(jsonData);
|
||||||
if (customizationId !== 0)
|
if (customizationId !== 0)
|
||||||
updateCustomizedDatas(jsonData.customizedDatas);
|
updateCustomizedDatas(jsonData.customizedDatas);
|
||||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||||
@@ -544,6 +548,8 @@ function downQuantity(id, qty)
|
|||||||
if (jsonData.refresh)
|
if (jsonData.refresh)
|
||||||
location.reload();
|
location.reload();
|
||||||
updateCartSummary(jsonData.summary);
|
updateCartSummary(jsonData.summary);
|
||||||
|
if (window.ajaxCart !== undefined)
|
||||||
|
ajaxCart.updateCart(jsonData);
|
||||||
if (customizationId !== 0)
|
if (customizationId !== 0)
|
||||||
updateCustomizedDatas(jsonData.customizedDatas);
|
updateCustomizedDatas(jsonData.customizedDatas);
|
||||||
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
|
||||||
@@ -754,8 +760,6 @@ function updateCartSummary(json)
|
|||||||
$('#total_wrapping').html(formatCurrency(json.total_wrapping, currencyFormat, currencySign, currencyBlank));
|
$('#total_wrapping').html(formatCurrency(json.total_wrapping, currencyFormat, currencySign, currencyBlank));
|
||||||
$('#total_wrapping').parent().hide();
|
$('#total_wrapping').parent().hide();
|
||||||
}
|
}
|
||||||
if (window.ajaxCart !== undefined)
|
|
||||||
ajaxCart.refresh();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateCustomizedDatas(json)
|
function updateCustomizedDatas(json)
|
||||||
|
|||||||
Reference in new issue
Block a user