Redireccionar al cliente cuando cierra sesión en Prestashop

Redireccionar al cliente al cerrar sesión en Prestashop

Antes de nada, nosotros vamos a tocar controladores y clases originales, pero recordar que lo optimo es hacer los correspondientes overrides (/override/clases/ si es una clase y /override/controllers/ si es un controlador)

Este miniTip, está realizado bajo Prestashop 1.6

Por ejemplo, vamos hacer que cuando el cliente cierre sesión en la tienda sea redireccionado a una página de contenidos que hemos creado en la pestaña Preferencias -> CMS

Editamos el fichero:

  • classes/controller/FrontController.php

Buscamos la siguiente línea de código: (En Prestashop 1.6.1.12 sobre la línea 295/298)

elseif (isset($_GET['mylogout'])) {
$this->context->customer->mylogout();
Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null);
}
Código PHP de cuando el cliente cierra sesión en Prestashop.

Y cambiamos la línea:

Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null);

por:

$enlace =$this->context->link->getCMSLink(3);
Tools::redirect($enlace);
  • Variable “Enlace” almacena el enlace de la página de contenidos.
  • Al ejecutar “Tools::redirect” ejecutamos la redirección, en este caso al valor que contiene la variable enlace.
Redireccionar a una página de contenidos cuando el cliente cierra sesión en Prestashop

Donde hemos añadido ID CMS, colocamos el ID de la página de contenidos donde queremos que haga la redirección.

Elegir ID del CMS en Prestashop

Tip testeado en Prestashop 1.6.1.12