Ich möchte eine Anmeldeseite erstellen, die eine zugewiesene Kundennummer anstelle ihrer E-Mail-Adresse verwendet. So wie mein Unternehmen auf einer separaten eComms-Plattform eingerichtet ist, greifen sie mit einer Kundennummer auf ihr Konto zu, da sie mehrere Kontomanager für ein Konto haben. Ich erstelle für sie Konten und weise ihnen dann eine Kundennummer zu, über die sie sich mit einem Passwort anmelden.
Jede Hilfe wäre sehr dankbar.
magento-1.9
customer
login
Alex WG
quelle
quelle
Antworten:
Es ist möglich, die grundlegende Logik mit wenig benutzerdefiniertem Code zu implementieren:
Schreiben Sie einen Beobachter für
controller_predispatch_customer_account_loginPost
, prüfen Sie, ob die hinterlegte E-Mail-Adresse (username
) dies nicht tut wie eine E-Mail-Adresse aussieht. In diesem Fall suchen Sie den Kunden nach Kundennummer und ersetzen Sie das Feld Benutzername in den POST-Daten durch die tatsächliche E-Mail-Adresse des gefundenen Kunden.Beispiel für einen Beobachtercode:
Dann
controller_postdispatch_customer_account_loginPost
ersetzen Sie die E - Mail - Adresse in der Sitzung zurück auf die Kundennummer, wenn es gesetzt ist. Andernfalls enthalten Fehlermeldungen bei fehlgeschlagenen Anmeldungen die E-Mail-Adresse anstelle der Nummer.Beispiel für einen Beobachtercode:
Andere Dinge zu beachten:
increment_id
Kundennummer verwenden möchten , die Sie in der Systemkonfiguration unter Kundenkonfiguration> Neue Kontooptionen erstellen> Benutzerfreundliche Kunden-ID erstellen aktivieren könnenquelle
Warum nur Zahlen ...
https://github.com/diglin/Diglin_Username
Mit dieser Erweiterung können sich Personen mit Benutzernamen anmelden. Natürlich können Sie diese "Benutzernamen" ohne allzu große Schwierigkeiten auf "Kontonummern" beschränken.
quelle