¿Alguien sabe si es posible mover el paso de registro del cliente al pago como en el pago original de Magento 1? Buscando una extensión que lo haga por mí o consejos sobre cómo podría lograrlo.
8
¿Alguien sabe si es posible mover el paso de registro del cliente al pago como en el pago original de Magento 1? Buscando una extensión que lo haga por mí o consejos sobre cómo podría lograrlo.
Respuestas:
Lo haría creando un paso en el proceso de pago que detecta el clima en el que ha iniciado sesión y luego muestra el formulario en consecuencia.
Cargue el formulario de registro en este paso sobre ajax y modifique el evento posterior al registro para detectar si el registro se realizó en el proceso de pago, redirigiendo de nuevo al proceso de pago en lugar del tablero.
Llegué a agregar un paso de trabajo que se muestra cuando no se ha iniciado sesión para el registro y redirigir el éxito del registro de nuevo a la comprobación deshabilitando el paso anterior para una experiencia de usuario fluida.
Ofrecer una opción de inicio de sesión si el usuario tiene una cuenta pero no ha iniciado sesión en esta etapa mejoraría aún más aquí.
Este es el código completo si desea verificar todo, era mucho para incluir en la respuesta:
Cree un formulario de registro dentro del controlador:
Como los pasos de pago necesitan
php
ejecutarse para obtener la url y la clave del formulario, etc., se necesitará un controlador para que podamos cargar este formulario de registro sobre ajax en el paso.A continuación, se muestran los bloques de registro dentro del controlador para que podamos llamar a Ajax al pago.
Asegúrese de agregar routes.xml dentro de la carpeta etc / frontend del módulo.
Crea un paso de pago:
Como este es el primer paso, asegúrese de agregar los mixins tal como lo hice en el módulo, ya que los devdocs son incorrectos aquí, lo que lleva a cada paso que muestra:
Esto fallaba si el bloque no se había cargado antes de la llamada ajax, pero terminó usando algo como esto para obtener nuestro formulario de registro del controlador y escupirlo en el paso:
Hay muchos más pasos aquí, solo siga los devdocs asegurándose de hacer el paso de mezcla, pero use a continuación para mezclar, ya que el ejemplo de devdocs no funciona:
Las principales diferencias fueron los pasos de pago y envío que usan isVisible y Visible y devdocs solo usa visible en el ejemplo, por lo que es necesario agregar Visible para corregirlo. También tuve que hacer ajustes si el paso estaba deshabilitado.
Modificar el redireccionamiento de registro:
Ejemplo tosco, pero también tuvo que anular el archivo register.phtml para agregar la variable de pago final para determinar la diferencia entre los 2 formularios. Allí donde no mostraba muchos pasos, pero compruebe el módulo que creé para obtener un ejemplo completo.
fuente