Wie leite ich den Benutzerkunden auf die Seite um, auf der er sich vor einer erfolgreichen Anmeldung befand?
-
12-12-2019 - |
Frage
Ich benutze Magento 1.4.1.1
Nur eingeloggte Kunden können auf einige Seiten meiner Website zugreifen.Wenn also ein nicht angemeldeter Kunde versucht, auf eine Seite zuzugreifen, auf der er angemeldet sein muss, wird er auf die Anmeldeseite weitergeleitet.Verwenden Sie den folgenden Code.
if(!$this->helper('customer')->isLoggedIn())
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('customer/account'));
}
Nach erfolgreicher Anmeldung wird der Kunde zu seinem Konto-Panel weitergeleitet (der vorherige Seitenspeicherort geht verloren).
Gibt es eine Möglichkeit, Magento dazu zu bringen, nach erfolgreicher Anmeldung zu der Seite zurückzukehren, auf der sich der Kunde befand?
Bezug
Lösung
Sie können diese der Seite des Kunden hinzufügen, muss sich anmelden: MAGE :: GetModel ('Kunde / Sitzung') -> SetBeForeAuthurl ([der Link Ihrer Seite])
Andere Tipps
Gehe zu System-> Konfiguration-> Kundenkonfiguration-> Anmeldeoptionen und setze den Wert für Redirect Customer to Account Dashboard after Logging in
zu No
.
Es gibt (mindestens) zwei Möglichkeiten, das Weiterleitungsziel nach der Kundenanmeldung zu steuern:
- Stellen Sie die
after_auth_url
eigentum bei der Kundensitzung. - In Kombination mit den oben genannten vorschlag von Marius, fügen Sie ein
referer
Anforderungsparameter für die loginPost-Anforderung.
Sehen Mage_Customer_AccountController::_loginPostRedirect()
.
und versuchen, es in der Controller-Datei 'App / Code / Local / Mage / Customer / Controller / Accower Controller.php' in der Funktion "LoginPostaction" kurz vor "if ($ this-> getrrequest () -> ispost()) {"