Redirige les utilisateurs vers la dernière page visitée, après connexion depuis le composant


8

Dans Joomla 3.5.1, je souhaite rediriger les utilisateurs vers la page qu'ils étaient avant de se connecter.

S'ils se connectent à partir de mod_login, pas de problème, puisque le module est en attente dans le menu supérieur, ils restent simplement sur cette page.

Le problème se produit lorsque les utilisateurs se connectent à partir du composant: ils sont toujours redirigés vers la page de profil.

Dans l'élément de menu, index.php?option=com_users&view=loginil y a une option pour rediriger les utilisateurs après la connexion.

Mais comment savoir: " Get them back to the page they were before"?

Certains composants ajoutent quelque chose comme:

?return=L2YlQzMlQjNydW0tcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NvbnZlcnNhdGi9yZWFkLmh0bWw/aWQ9MjU=

À l'URL, demandant une redirection vers une page spécifique.

Mais ils reviennent toujours à la page de profil.


they always go back to the profile page.cela m'arrive, indépendamment de la modification comme l'a suggéré @Lodder.
— kokbira

Réponses:


7

C'est assez simple pour ce faire.

Vous devrez d'abord créer un remplacement de modèle pour le fichier suivant:

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

Une fois cela fait, ouvrez le fichier suivant (votre remplacement):

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

et allez à la ligne 81, où vous verrez le code suivant:

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

et remplacez-le par:

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

J'espère que cela t'aides


+1 Très belle idée. Je ne sais pas si $_SERVER['HTTP_REFERER']c'est toujours un choix valable, mais j'aime l'idée.
— mavrosxristoforos

@mavrosxristoforos - Oui, il a quelques inconvénients . Une solution plus avancée et plus fiable impliquerait un plugin système, utilisant une session ou un cookie
— Lodder

Merci beaucoup pour votre aide, j'utilise des substitutions de modèle pour K2 depuis des années, mais pour Core Joomla, cela semble impossible. J'ai regardé les instructions de votre lien, y compris la section "Création de remplacements" mais toutes les modifications que je fais sont ignorées.
— Nuno Nogueira

@NunoNogueira - Le fichier que vous ouvrez pour y apporter des modifications, le chemin correspond-il à ce que j'ai fourni dans ma réponse (2e extrait de code)? Il devrait être exactement le même, à part MY_TEMPLATEbien sûr le nom de votre modèle
— Lodder

@NunoNogueira - J'ai fait une erreur avec le chemin, je l'ai mis à jour maintenant. (supprimer /view/)
— Lodder
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.