Leiten Sie Benutzer nach der Anmeldung von der Komponente zur zuletzt besuchten Seite weiter

8

In Joomla 3.5.1 möchte ich Benutzer auf die Seite umleiten, auf der sie sich vor dem Anmelden befanden.

Wenn sie sich über mod_login anmelden, ist dies kein Problem, da das Modul im oberen Menü aussteht und sie nur auf dieser Seite bleiben.

Das Problem tritt auf, wenn sich die Benutzer von der Komponente aus anmelden: Sie werden immer zur Profilseite umgeleitet.

Im Menüpunkt index.php?option=com_users&view=logingibt es eine Option, um Benutzer nach der Anmeldung umzuleiten.

Aber wie sage ich: " Get them back to the page they were before"?

Bestimmte Komponenten fügen Folgendes hinzu:

?return=L2YlQzMlQjNydW0tcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NvbnZlcnNhdGi9yZWFkLmh0bWw/aWQ9MjU=

Zur URL, um eine Weiterleitung zu einer bestimmten Seite anzufordern.

Sie kehren jedoch immer zur Profilseite zurück.

Nuno Nogueira
quelle
they always go back to the profile page.Es passiert mir, unabhängig davon, ob ich es wie von @Lodder vorgeschlagen geändert habe.
Kokbira

Antworten:

7

Ganz einfach, das zu tun.

Sie müssen zunächst eine Vorlagenüberschreibung für die folgende Datei erstellen:

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

Öffnen Sie anschließend die folgende Datei (Ihre Überschreibung):

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

und gehen Sie zu Zeile 81, wo Sie den folgenden Code sehen:

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

und ersetzen Sie es durch:

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

Hoffe das hilft

Lodder
quelle
+1 Sehr schöne Idee. Ich bin mir nicht sicher, ob das $_SERVER['HTTP_REFERER']immer eine gültige Wahl ist, aber ich mag die Idee.
Mavrosxristoforos
@mavrosxristoforos - Ja, es hat einige Nachteile . Eine fortschrittlichere und zuverlässigere Lösung würde ein System-Plugin beinhalten, das eine Sitzung oder ein Cookie verwendet
Lodder
Vielen Dank für Ihre Hilfe. Ich verwende seit Jahren Vorlagenüberschreibungen für K2, aber für Core Joomla scheint dies unmöglich zu sein. Ich habe mir die Anweisungen in Ihrem Link angesehen, einschließlich des Abschnitts "Erstellen von Überschreibungen", aber alle Änderungen, die ich vornehme, werden ignoriert.
Nuno Nogueira
@NunoNogueira - Die Datei, an der Sie die Änderungen vornehmen, stimmt der Pfad mit dem überein, den ich in meiner Antwort angegeben habe (2. Code-Snippet)? Es sollte genau das gleiche sein, abgesehen MY_TEMPLATEdavon, wie der Name Ihrer Vorlage lautet
Lodder
@NunoNogueira - Ich habe einen Fehler mit dem Pfad gemacht, ich habe ihn jetzt aktualisiert. (entfernen /view/)
Lodder