Confirmación contraseña en registro de Prestashop

Confirmación contraseña en registro de Prestashop

publicado en: Tutoriales | 6

Para aquellos que estáis trabajando con Prestashop os habréis dado cuenta que a la hora que un usuario se registre en nuestra tienda simplemente se le pide una vez la contraseña para acceder a su cuenta en el formulario de registro. Esto aunque algo problemático tiene su explicación, el equipo de Prestashop siempre intenta simplificar al máximo todos los datos que tiene que introducir un cliente para “molestar” lo menos posible el proceso de compra.

Esto está muy bien pero hay muchos usuarios que cuando crean su contraseña no ponen especial atención a lo que están tecleando, con lo que luego no pueden acceder a su cuenta, aunque muchos penséis que esto realmente no es un problema ya que existe la opción de recuperar contraseña os diré que la mayoría de usuarios parecen tenerle miedo a esta opción o desconocer su funcionamiento, por lo que tenemos que intentar asegurar que la contraseña introducida es la correcta para evitar que tras un par de intentos de acceso acaben abandonando y comprando en la competencia.

Por suerte hacer esta modificación no nos llevará apenas tiempo y conseguiremos tener un segundo campo que compruebe que ambas contraseñas introducidas son iguales. La modificación la he probado en la versión 1.4.8.2, os debería funcionar sin problemas en todas las 1.4.x y posiblemente en la 1.5.x tampoco os debería dar problemas, vamos al lio.

 

Lo primero que tenemos que hacer es incluir el nuevo campo para la confirmación de la contraseña en themes/yourtheme/authentication.tpl
Una vez que hayais localizado ese archivo teneis que buscar las siguientes lineas:

Justo después de ese trozo de código, que es el actual input donde se introduce la contraseña, debéis introducir lo siguiente

Con esto ya tenemos creado el segundo input para poder introducir esa confirmación que vamos buscando.

Ahora debemos editar el controlador que gestiona todo esto para decirle que tenga en cuenta este segundo input que acabamos de crear, para ello nos vamos a /controllers/AuthController.php y buscamos la siguiente linea:

Debajo de esa línea de código deberemos introducir lo siguiente:

[Editado#Octubre 2013] Gracias al comentario de Aner se ha detectado un fallo derivado de esta modificación. Una vez se siguen los pasos si activamos los pedidos como invitados en nuestra tienda online lo que obtenemos es un error en el proceso, nos dirá que las contraseñas no coinciden, ¡pero nosotros no hemos introducido ninguna! Para solucionar esto hemos hecho una pequeña modificación en nuestro código que hace que no se compruebe la contraseña si se trata de una compra como invitado. Aquí tenéis ya la modificación aplicada.

 Listo! Ya tenemos nuestro segundo campo que comprobará y avisará al usuario de la igualdad o no de la contraseña que ha escogido.

Espero que os haya sido de ayuda y ayude así a bajar la tasa  de abandono de vuestra tienda.

Ya sabéis que me encantan vuestros comentarios así que espero ver que os ha parecido!

6 Respuestas

  1. Gracias por el artículo. Me ha servido de bastante. Pero me ha acarreado un problema indirecto. Ahora cuando el cliente quiere realizar un pedido instantáneo sale el error de que las contraseñas no coinciden (paswords do not match). ¿Hay alguna forma de que esa obligatoriedad de introducir correctamente la doble contraseña no afecte a quien realiza la compra instantanea?
    Gracias de nuevo

    • dwalins

      Hola Aner, por pedido instantáneo te refieres al tipo simplificado en un paso o al pedido como invitado? La verdad que nunca se me habían dado estas características juntas, así que a ver que podemos hacer!
      Por cierto, ¿que versión de prestashop estás utilizando?

  2. Hola Dawlins
    Me refiero al pedido como invitado. Estoy utilizando la versión 1.4.10.

    • dwalins

      Hola Aner, ya he podido solucionar el problema. Si te fijas en la linea 64 vemos que hace una comprobación

      Esto sucede cada vez que se crea una cuenta, tanto una normal como una de invitado, pero en nuestro caso no nos interesa que haga la comprobación de la contraseña si la cuenta que se crea es de invitado, pero si queremos que siga haciendo todo lo demás. Por lo tanto debemos añadir una condición más donde se comprueba la contraseña, de modo que este trozo:

      Quede de esta forma:

      Con esto lo que hacemos es que no se ejecute esa comprobación cuando la creación de cuenta que se está realizando es de tipo invitado. Pruébalo y nos cuentas que tal te va con esta solución.

      Un saludo!

  3. Si me funciona Dawlis. Muchas gracias por compartir conocimiento.

Dejar una opinión

Debe estar conectado para escribir un comentario.