Quiero crear una página de inicio de sesión que use un número de cliente asignado en lugar de su dirección de correo electrónico. La forma en que mi negocio está configurado, en una plataforma de eComms separada, acceden a su cuenta con un número de cliente porque son múltiples administradores de cuentas para una cuenta. Creo cuentas para ellos y luego les asigno un número de cliente, que luego usan para iniciar sesión, con una contraseña.
Cualquier ayuda sería muy apreciada.
magento-1.9
customer
login
Alex WG
fuente
fuente
Respuestas:
Es posible implementar la lógica básica con poco código personalizado:
Escriba un observador para
controller_predispatch_customer_account_loginPost
, verifique si la dirección de correo electrónico publicada (username
) no parece una dirección de correo electrónico. En este caso, busque al cliente por número de cliente y reemplace el campo de nombre de usuario en los datos POST con la dirección de correo electrónico real del cliente encontrado.Ejemplo de código de observador:
Luego
controller_postdispatch_customer_account_loginPost
, reemplace la dirección de correo electrónico en la sesión nuevamente con el número de cliente, si está configurado. De lo contrario, los mensajes de error en los inicios de sesión fallidos contendrán la dirección de correo electrónico en lugar del número.Ejemplo de código de observador:
Otras cosas a considerar:
increment_id
número de cliente integrado , que puede habilitar en la configuración del sistema en Configuración del cliente> Crear nuevas opciones de cuenta> Generar ID de cliente amigable para el ser humanofuente
¿Por qué solo números ...
https://github.com/diglin/Diglin_Username
Con esta extensión, puede hacer que las personas inicien sesión con nombres de usuario. Claramente, puede bloquear esos 'nombres de usuario' en 'números de cuenta' sin demasiada dificultad.
fuente