Welche Klasse sollte ich überschreiben, um einen Kunden nach der Anmeldung auf eine bestimmte Seite umzuleiten?
Ich habe versucht, Redirect Customer to Account Dashboard after Logging in
in der Store-Konfiguration festzulegen, aber es funktioniert nicht.
Antworten:
Ein Plugin ist in diesem Fall eine bessere Lösung, da Ihre erweiterte Klasse möglicherweise aktualisiert werden muss, wenn Magento 2 aktualisiert wird.
Hier ist eine Lösung mit einem After-Plugin für LoginPost-> execute (), wie von Xenocide8998 vorgeschlagen.
/Vendor/Module/etc/frontend/di.xml
::/Vendor/Module/Plugin/LoginPostPlugin.php
::quelle
Ich habe es behoben, indem ich die LoginPost-Klasse überschrieben habe
etc / di.xml
Anbieter / Modul / Controller / Konto / LoginPost.php
quelle
afterExecute()
wäre eine sauberere OptionDass der aktuelle lokale Speicher unser Problem verursacht hat.
Wenn wir
Redirect Customer to Account Dashboard after Logging in
Guest Checkout in der Konfiguration aktivieren oder deaktivieren , funktioniert diese Funktion gut. Wir müssen jedoch Ihren lokalen Speicher löschen.Wir können den lokalen Speicher überprüfen
localStorage.getItem('mage-cache-storage')
.Schau mal:
Hersteller / Magento / Modul-Checkout / Ansicht / Frontend / Web / js / sidebar.js
Magento setzt das Cookie
$.cookie('login_redirect', this.options.url.checkout)
basierend aufcustomerData
dem lokalen Speicher.Von der Steuerung
vendor/magento/module-customer/Controller/Account/LoginPost.php
. Es wird die Weiterleitungs-URL aus dem Cookie überprüft.Magento-Version:
-Magento Version 2.1.0
quelle
Ich habe dieses Problem behoben, indem ich den Referer in der benutzerdefinierten Modulsteuerung übergeben habe.
Schritt 1 `
Schritt 2
Gehen Sie zu Admin: Store> Konfiguration> Kunden> Kundenkonfiguration> Anmeldeoptionen> Kunden nach der Anmeldung zum Konto-Dashboard umleiten> Nein
quelle