Jump to content

Combinar/Fusionar pasos en el checkout de prestashop 1.7.8


Recommended Posts

Buenas noches compañeros,

después de estar buscando mucha información por internet, no consigo encontrar una solución viable al siguiente problema.

Lo que busco, es poder fusionar los pasos de Datos personales y Direcciones en la página de pedido de prestashop 1.7.8. He visto que esto ya se ha comentado otras veces por el foro pero no les han dado solución nunca.

Me gustaría que los pedidos que me realizaran como INVITADO, estos 2 pasos estuvieran fusionados en 1 solo, para así hacer que el cliente no tenga que hacer tantos clics para pasar de paso en paso, y que realmente se quedaran como 3 pasos para poder completar el pedido.

Actualmente, si estas registrado en la tienda de prestashop, no es necesario completar el paso de datos personales, por lo tanto se quedan 3 en total, el de direcciones, método de envío y por último el de pago, en cambio, si es un pedido de una persona que no se ha registrado, es obligatorio rellenar el formulario con los datos personales, después el de direcciones, método de envío y pago, creando así 4 pasos.

Ya he visto en el archivo ubicado en controllers/front/OrderController.php que es el encargado de aplicar los pasos en la página de pedido, pero no consigo aclararme a la hora de poder fusionar estos 2 cuando es un pedido de invitado. Os adjunto una imagen para que podáis haceros una idea del código.

1380751115_procesodepedido.JPG.46aadb630b9f407b347aa8e42221d032.JPG

 

Agradecería mucho la ayuda que me podáis prestar, un saludo y gracias!

Link to comment
Share on other sites

hace 7 minutos, david19942 dijo:

Nadie puede ayudarme?

Lo que pides no puede ser, ya que al comprar como invitado debe añadir nuevos datos de cliente, estos datos están en un tabla y un controlador, cliente, y la dirección está en otra tabla y otro controlador dirección, por lo que pides es imposible que haya solo 1 formulario donde se añadan los campos de los dos formularios independientes en uno.

Podrías modificar las classes y controladores en override pero el trabajo y posibles problemas (como has dicho si el cliente está registrado sale direcciones) futuros sería un gran problema , sin contar con los módulos que controlan las classes de cliente y dirección por separado.

Se puede hacer, si supongo, vale la pena por quitar un paso a un tipo que no quiere registrarse y compsr como invitado, me parece que no.

 

Link to comment
Share on other sites

Todo lo que dices es correcto @gusman126, pero la cosa no es ponerlo todo en un simple formulario... ni quitar campos ni nada, simplemente que no le tengan que dar al botón se continuar, que se quede desplegado el propio paso de direcciones y en este si hay un botón de pasar al otro paso.

Se que hay módulos, pero me niego a gastarme 100€ como piden algunos, ya que me parece un precio demasiado elevado para lo que necesito.

Y en referencia a si vale la pena o no... si vale la pena sino no lo haría, sobre todo por el tema de la conversión. Cuando al cliente le haces que tenga que clicar tantas veces acaba cansándose... no lo digo yo, lo dicen los expertos que entienden de eso, es por ello que buscaba este tipo de solución.

En la 1.6 estaba hecho por defecto en prestashop y te daba la opción, pero en la 1.7 lo han eliminado esto 😭

 

Aún así, gracias de todas formas, voy a ver si alguien puede resolverme el problema 😅

Link to comment
Share on other sites

Añade un código JavaScript para simular el click en el desplegable, y que lo despliegue si está cerrado y no si está desplegado.

Si solo quieres eso, pero dudo que que funcione, ya que el hacer click debería guardar y validar el formulario del cliente.

Respecto al precio de modulos

No sé cómo cuentas tu tiempo y precio horas de tu trabajo, pero seguro que sale más barato pagar 100€ para tener una solución, que intentar hacerlo con horas de desarrollo y posibles problemas con futuros módulos o actualizaciones.

 

Yo soy desarrollador y muchas veces he comprado un módulo antes de hacerlo, sale mejor de precio comprar que mis horas de desarrollo

Pero bien, no es lugar para hablar del tema.

 

Link to comment
Share on other sites

Ya... lo pensé pero el problema es que hay que validar los campos de la información personal.

Soy desarrollador yo tambien y me refiero a que 100€ para hacer lo que quiero no cuesta eso... los módulos que hay es para hacer one checkout page, por eso digo que es mucho para lo que yo necesito... porque directamente no busco el one checkout.

Link to comment
Share on other sites

hace 9 horas, david19942 dijo:

Ya... lo pensé pero el problema es que hay que validar los campos de la información personal.

Si es lo que pense después de escribir lo de javascript, pero no veo ningún método que no sea modificar varios ficheros "core" con el riesgo de romper otras cosas.

Por ejemplo hay un hook que es cuando se cambia de "paso" en el formulario del checkout, si se elimina algun modulo dejara de funcionar.

Yo lo veo complicado, como te digo, yo iría directamente a un modulo de onepage , no es que se venda mas con ellos, pero si que es mas cómodo para la gente rellenarlo o comprobar poniendo la dirección, el coste de transporte

Si consigues hacerlo sin mucho lio, si no te importa podrias ponerlo por aqui para otros posibles interesados en tenerlo como lo necesitas

 

Link to comment
Share on other sites

Buenos días @gusman126 y compañía,

finalmente no voy a realizarlo, porque he estado probando los pedidos como Invitado y están muy mal configurados en Prestashop 1.7, como por ejemplo estuve haciendo las pruebas y si una persona realiza un pedido como Invitado, este se queda guardado en la base de datos pero con el grupo de Invitado, ocasionando así que no se le cree una cuenta y no tenga acceso a ver su pedido, solo mediante el correo que le envía el propio prestashop, y por otra parte, si intenta registrarse con el mismo correo más tarde, es decir, después de haber realizado el pedido, se le creara una cuenta y se duplicara en bbdd y en el backend el cliente al haber puesto el mismo correo electrónico, pero con el problema de que no se le enlazará el pedido creado como invitado aunque sea con el mismo correo electrónico, es por eso que veo que esta bastante mas enfocado el tema de los pedidos como Invitado y por ello mismo al final lo he descartado, ya que en vez de ayudar al cliente puede hacer que tenga más problemas en un futuro.

Se que no he dado la solución al problema de juntar los 2 pasos en 1 solo (que acabaré intentándolo para en un futuro tener un tutorial a mano), pero por ahora ya es algo que no corre prisa, aun así muchas gracias por la ayuda.

 

Un saludo y gracias!

Link to comment
Share on other sites

Lo que puedes hacer es desactivar la compra de invitado, a mi me gusta activarlo , como indicas si el cliente invitado, no le da a la opción de "ser / convertir en cliente" puede hacer varios pedidos sin que se le asocie al mismo email

Por cierto SI que hay una url para que los invitados puedan ver sus pedidos... yo cuando me acuerdo lo pongo en el pie de pagina, en el listado de enlaces de cliente o "tu cuenta"

image.thumb.png.e5eb60d1d59968b1f4caf0250843a87f.png

image.png.ffe3e8f32780b5c2f9755eb3ab4e2c1c.png

Edited by gusman126 (see edit history)
Link to comment
Share on other sites

Si si correcto, al final he acabado desactivándolo por eso mismo, puede producir más problemas que soluciones. Más que nada por lo que te comento, que si el cliente no ve lo de convertir en cliente y intenta registrarse, entiendo que prestashop debería comprobar de que ya existe un cliente invitado con ese correo y mostrarle en el registro el botón de ser/convertir en cliente y no directamente que te deje registrarte, porque así crea registros duplicados y no le muestra los pedidos que ha realizado como Invitado aunque sea el mismo correo, que realmente el mayor problema es este... te deja registrarte con el mismo correo que has realizado el pedido pero este pedido ya no te aparece en tu cuenta una vez te has registrado... algo bastante extraño que no se tenga en cuenta.

Y si lo del seguimiento del pedido cuando eres invitado, llega también al propio template del correo que te envía prestashop, pero ya te digo que no veo que este muy pulido el tema de los pedidos como Invitado.

He probado en la 1.6 y ahí si esta bien hecho, cuando haces un pedido como invitado te genera una contraseña aleatoria que te la envía al correo por si quieres hacer la cuenta como Cliente y en caso de que no quieras, no te deja registrarte porque ya cuentas como registrado que es lo coherente para que no pierdas ningún pedido ya realizado con ese correo.

Pero bueno, es algo que al fin y al cabo tampoco usaban los clientes en la web antigua así que puedo deshacerme de eso sin problemas.

Como he dicho, intentare hacer pruebas en local y si lo consigo (espero que sí), subiré la solución aun así.

Link to comment
Share on other sites

hace 1 hora, david19942 dijo:

He probado en la 1.6 y ahí si esta bien hecho, cuando haces un pedido como invitado te genera una contraseña aleatoria que te la envía al correo por si quieres hacer la cuenta como Cliente y en caso de que no quieras, no te deja registrarte porque ya cuentas como registrado que es lo coherente para que no pierdas ningún pedido ya realizado con ese correo.

Eso no lo tiene Prestashop ni 1.6 ni 1.7, parece que lo tienes modificado. Invitado siempre ha sido invitado, sin contraseñas o no seria invitado.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...