Exacto, @antonio92 ha dado en el clavo. @diegoonline38, el hookDisplayShoppingCart sí recibe un array $params que contiene la información del carrito y el contexto actual. El problema es que en tu implementación actual, el método renderForHookPosition no está utilizando esos parámetros, por lo que siempre renderiza la barra con datos estáticos o del carrito inicial.
Para solucionarlo, debes asegurarte de que los parámetros se pasen correctamente al método interno que se encarga de la lógica de renderizado. Aquí tienes la modificación que deberías aplicar en tu archivo smartfreeshippingpro/smartfreeshippingpro.php:
function hookDisplayShoppingCart($params)
{
return $this->renderForHookPosition('displayShoppingCart', $params);
}
Con este cambio, $params se pasará a renderForHookPosition, permitiendo que la lógica interna acceda al carrito actualizado y a otros datos relevantes. Es un error común en módulos personalizados o adaptaciones.
Para evitar este tipo de ajustes manuales y asegurar una compatibilidad total con los eventos de PrestaShop (como prestashop.on('updatedCart')), sobre todo en tiendas en producción, siempre recomiendo usar una solución dedicada como la barra de progreso de envío gratuito de MyPresta.eu. Estos módulos están diseñados para manejar correctamente estos eventos y las actualizaciones AJAX de forma nativa.