es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Prestashop 1.7 obtener el paso actual en el proceso de compra.

El sitio web de PS que intentamos configurar debe entregar solo en un estado específico de un país determinado, pero permitir facturar a cualquier país del mundo.
Para eso, logré restringir el país a solo uno y luego, mediante código, cambiar el comportamiento del menú desplegable de estados con el siguiente código:

public function getFormat()
{
    $format = parent::getFormat();
    $format['id_state']->setAvailableValues(
                            [999 =>'CustomState'],
                        );
}

El código se colocó dentro de una anulación de CustomerAddressFormatterCore, pero al usarlo de esta manera, también se restringen los estados de facturación a solo uno.
Ahora, intentamos capturar los pasos del proceso de pago y hasta ahora sin éxito.

Veo que PS 1.7 utiliza la clase CheckoutProcess y la función public function getCurrentStep().
¿Alguien sabe cómo usar eso dentro de una anulación de CustomerAddressFormatterCore?
¿Es ese el enfoque correcto? ¿Existe alguna otra solución mejor?

¡Gracias!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Restricción de entrega a un solo estado en Prestashop-1.7

    Para restringir la entrega a un solo estado de un país específico mientras se permite la facturación a cualquier país del mundo, se puede utilizar el siguiente código dentro de una anulación de CustomerAddressFormatterCore:

     public function getFormat()
    {
        $format = parent::getFormat();
        $format['id_state']->setAvailableValues(
                                [999 =>'EstadoPersonalizado'],
                            );
    }
    

    Sin embargo, este enfoque también restringirá los estados de facturación a solo uno. Para capturar los pasos del proceso de pago, podemos utilizar la función getCurrentStep() de la clase CheckoutProcess. No está claro cómo utilizarlo dentro de una anulación de CustomerAddressFormatterCore.

    El uso de getCurrentStep() puede no ser el enfoque correcto y podría existir una mejor solución. Es posible que se requiera una investigación adicional para encontrar un método adecuado para capturar los pasos durante el proceso de pago.

Comments are closed.