Je souhaite créer une page de connexion qui utilise un numéro de client attribué au lieu de son adresse e-mail. La façon dont mon entreprise est configurée, sur une plate-forme eComms distincte, accède à son compte avec un numéro de client car ce sont plusieurs gestionnaires de compte pour un seul compte. Je leur crée des comptes, puis j'attribue un numéro de client, qu'ils utilisent ensuite pour se connecter, avec un mot de passe.
Toute aide serait grandement appréciée.
magento-1.9
customer
login
Alex WG
la source
la source
Réponses:
Il est possible d'implémenter la logique de base avec peu de code personnalisé:
Écrivez un observateur
controller_predispatch_customer_account_loginPost
, vérifiez si l'adresse e-mail publiée (username
) ne ressemble pas à une adresse e-mail. Dans ce cas, recherchez le client par numéro de client et remplacez le champ du nom d'utilisateur dans les données POST par l'adresse e-mail réelle du client trouvé.Exemple de code d'observateur:
Ensuite
controller_postdispatch_customer_account_loginPost
, remplacez l'adresse e-mail de la session par le numéro de client, s'il est défini. Sinon, les messages d'erreur sur les connexions infructueuses contiendront l'adresse e-mail au lieu du numéro.Exemple de code d'observateur:
Autres choses à considérer:
increment_id
numéro de client intégré , que vous pouvez activer dans la configuration du système sous Configuration client> Créer de nouvelles options de compte> Générer un ID client convivialla source
Pourquoi juste des chiffres ...
https://github.com/diglin/Diglin_Username
Avec cette extension, les gens peuvent se connecter avec des noms d'utilisateur. De toute évidence, vous pouvez verrouiller ces «noms d'utilisateur» aux «numéros de compte» sans trop de difficulté.
la source