Omitir pasos en el checkout de PrestaShop

Muchas veces nuestra tienda tiene ciertas características que hacen que no sean necesarios todos los pasos del checkout. Un ejemplo podría ser que solo tenemos recoger tener tienda como método de envío, y en ese caso podríamos eliminar ese paso del checkout para ahorrar tiempo al usuario a la hora de comprar.

Otro ejemplo podría ser que tenemos como método de pago solamente "pago en tienda". En ese caso, podemos omitir este paso también.

Para hacer esto debemos modificar el archivo controllers/front/OrderController.php

Las lineas addStep son las que añaden pasos del checkout, comentandolas como se muestra en la imagen podemos hacer que esos pasos no sean requeridos

Por ejemplo, CheckoutPersonalInformationStep es para mostrar la info de usuario, CheckoutAddressesStep para la dirección, checkoutDeliveryStep para el envío y CheckoutPaymentStep para la forma de pago. Con solo comentar el paso que queremos quitar es suficiente para que desaparezca el mismo:

            /*->addStep(new CheckoutPersonalInformationStep(
                $this->context,
                $translator,
                $this->makeLoginForm(),
                $this->makeCustomerForm()
            ))*/
Lo ideal es crear un Override del controlador OrderController para evitar perder los cambios. Pueden ver mas info aquí:  http://doc.prestashop.com/display/PS16/Overriding+default+behaviors#Overridingdefaultbehaviors-Overridingacontroller

Carro 0 Carrito de compras

sin productos

¡Envío gratis! Envío
$0.00 Total

Revisa