Redirige a los usuarios a la última página visitada, después de iniciar sesión desde el componente

8

En Joomla 3.5.1, quiero redirigir a los usuarios a la página que tenían antes de iniciar sesión.

Si inician sesión desde mod_login, no hay problema, ya que el módulo está pendiente desde el menú superior, simplemente permanecen en esa página.

El problema ocurre cuando los usuarios inician sesión desde el componente: siempre son redirigidos a la página de perfil.

En el elemento del menú index.php?option=com_users&view=loginhay una opción para redirigir a los usuarios después de iniciar sesión.

Pero, ¿cómo le digo: " Get them back to the page they were before"?

Ciertos componentes agregan algo como:

?return=L2YlQzMlQjNydW0tcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NvbnZlcnNhdGi9yZWFkLmh0bWw/aWQ9MjU=

A la URL, solicitando una redirección a una página específica.

Pero siempre vuelven a la página de perfil.

Nuno Nogueira
fuente
they always go back to the profile page.me sucede, independientemente de la modificación que sugirió @Lodder.
kokbira

Respuestas:

7

Muy simple de hacer esto.

En primer lugar, deberá crear una anulación de plantilla para el siguiente archivo:

components/com_users/views/login/tmpl/default_login.php

Una vez hecho esto, abra el siguiente archivo (su anulación):

templates/MY_TEMPLATE/html/com_users/login/default_login.php

y vaya a la línea 81, donde verá el siguiente código:

<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />

y reemplazarlo con:

<input type="hidden" name="return" value="<?php echo base64_encode($_SERVER['HTTP_REFERER']); ?>" />

Espero que esto ayude

Lodder
fuente
+1 Muy buena idea. No estoy seguro si $_SERVER['HTTP_REFERER']siempre es una opción válida, pero me gusta la idea.
mavrosxristoforos
@mavrosxristoforos - Sí, tiene algunos inconvenientes . Una solución más avanzada y confiable implicaría un complemento del sistema, haciendo uso de una sesión o cookie
Lodder
Muchas gracias por ayudar, he estado usando anulaciones de plantillas para K2 durante años, pero para core joomla parece imposible. Observé las instrucciones en su enlace, incluida la sección "Creación de anulaciones", pero se ignoran los cambios que haga.
Nuno Nogueira
@NunoNogueira: el archivo que abre para realizar los cambios, ¿coincide la ruta con lo que proporcioné en mi respuesta (segundo fragmento de código)? Debería ser exactamente el mismo, aparte de MY_TEMPLATEcuál, por supuesto, es el nombre de su plantilla
Lodder
@NunoNogueira: cometí un error con el camino, lo actualicé ahora. (eliminar /view/)
Lodder