Reindirizzare gli utenti all'ultima pagina visitata, dopo l'accesso dal componente


8

In Joomla 3.5.1, voglio reindirizzare gli utenti alla pagina che erano prima di accedere.

Se effettuano il login da mod_login, nessun problema, poiché il modulo è in sospeso dal menu in alto, rimangono semplicemente in quella pagina.

Il problema si verifica quando gli utenti accedono dal componente: vengono sempre reindirizzati alla pagina del profilo.

Nella voce di menu index.php?option=com_users&view=loginc'è un'opzione per reindirizzare gli utenti dopo il login.

Ma come faccio a dire: " Get them back to the page they were before"?

Alcuni componenti stanno aggiungendo qualcosa di simile:

?return=L2YlQzMlQjNydW0tcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NvbnZlcnNhdGi9yZWFkLmh0bWw/aWQ9MjU=

All'URL, richiedendo un reindirizzamento a una pagina specifica.

Ma tornano sempre alla pagina del profilo.


they always go back to the profile page.succede a me, indipendentemente dalla modifica come suggerito da @Lodder.
Kokbira,

Risposte:


7

Abbastanza semplice per farlo.

Innanzitutto dovrai creare una sostituzione del modello per il seguente file:

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

Una volta fatto, apri il seguente file (la tua sostituzione):

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

e vai alla riga 81, dove vedrai il seguente codice:

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

e sostituiscilo con:

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

Spero che sia di aiuto


+1 Ottima idea. Non sono sicuro che $_SERVER['HTTP_REFERER']sia sempre una scelta valida, ma mi piace l'idea.
mavrosxristoforos,

@mavrosxristoforos - Sì, ha alcuni inconvenienti . Una soluzione più avanzata e affidabile coinvolgerebbe un plugin di sistema, facendo uso di una sessione o cookie
Lodder

Grazie mille per l'aiuto, sto usando override di template per K2 da anni ma per il core joomla sembra impossibile. Ho esaminato le istruzioni nel tuo link, inclusa la sezione "Creazione di sostituzioni", ma qualsiasi modifica che faccio viene ignorata.
Nuno Nogueira,

@NunoNogueira - Il file che apri per apportare le modifiche, il percorso corrisponde a quello che ho fornito nella mia risposta (snippet di 2 ° codice)? Dovrebbe essere esattamente lo stesso, a parte MY_TEMPLATEovviamente il nome del modello
Lodder,

@NunoNogueira - Ho fatto un errore con il percorso, l'ho aggiornato ora. (rimuovi /view/)
Lodder
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.