Jump to content

SOLUCIONADO: Redireccionamiento al cerrar sessión


ErikSebastia2

Recommended Posts

Buenos días,

 

Cuando un usuario cierra sesión, se redirecciona a www.mitienda.com/index.php?mylogout y se queda en la pagina por defecto donde estas en ese momento. Quiero redireccionar al usuario a la página principal, index.

 

¿Dónde está el archivo para modificar la url al cerrar sesión?

 

Gracias

 

Saludos cordiales

Edited by ErikSebastia2 (see edit history)
Link to comment
Share on other sites

Buenos días,

 

Cuando un usuario cierra sesión, se redirecciona a www.mitienda.com/index.php?mylogout y se queda en la pagina por defecto donde estas en ese momento. Quiero redireccionar al usuario a la página principal, index.

 

¿Dónde está el archivo para modificar la url al cerrar sesión?

 

Gracias

 

Saludos cordiales

 

Edita el controlador, y cambia la redirect.

 

¿Que version de prestashop tienes?

Edited by Rubalcaba (see edit history)
Link to comment
Share on other sites

He mirado en frontcontroller.php y hay la siguiente línea de redirecionamiento cuando un usuario hace Logout:


   /* attribute id_lang is often needed, so we create a constant for performance reasons */
       if (!defined('_USER_ID_LANG_'))
           define('_USER_ID_LANG_', (int)$cookie->id_lang);

       if (isset($_GET['logout']) OR ($cookie->logged AND Customer::isBanned((int)$cookie->id_customer)))
       {
           $cookie->logout();
           Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL);
       }
       elseif (isset($_GET['mylogout']))
       {
           $cookie->mylogout();
           Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL);
       }

 

Quiero redireccionar a index.php, que line añado?

 

Gracias

Link to comment
Share on other sites

Te lo digo en referencia a Prestashop 1.5

 

Fichero:

 

/classes/controller/FrontController.php

 

Busca esto:

 

elseif (isset($_GET['mylogout']))
 {
  $this->context->customer->mylogout();
  Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null);
 }

 

Y prueba dejarlo asi:

 

elseif (isset($_GET['mylogout']))
 {
  $this->context->customer->mylogout();
  Tools::redirect('index.php');
 }

  • Like 4
Link to comment
Share on other sites

  • 7 months later...

Funciona! muchas gracias ;)

 

Un apunte para hacerlo de una forma mas limpia, la misma ruta en la carpeta override/.. copia el metodo y modificalo ahi, por si actualizas en el futuro.

 

Un placer ayudarte y servirte!

 

Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso.

 

PD: Hacer el override como comentas es mas optimo que modificar el fichero original, para tenerlo todo mas organizado, y no perder los cambios en las actualizaciones. (Por cierto, se me olvido cerrar el tema, lo hago ahora)

 

Simplemente para no enrollarme mucho, indique en este tema las lineas afectadas.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...