lechowski / 13.11.2021

Skip steps in PrestaShop checkout

Many times our store has certain characteristics that do not require all the steps of the checkout. An example could be that we only have to have a store as a shipping method, and in that case we could eliminate that step of the checkout to save the user time when buying.

Another example could be that we only have "store payment" as the payment method. In that case, we can skip this step too.

To do this we must modify the file controllers / front / OrderController.php

The addStep lines are the ones that add checkout steps, commenting on them as shown in the image we can make those steps not required

For example, CheckoutPersonalInformationStep is to display the user info, CheckoutAddressesStep for the address, checkoutDeliveryStep for shipping, and CheckoutPaymentStep for the payment method. Just commenting on the step we want to remove is enough to make it disappear:

            / * -> addStep (new CheckoutPersonalInformationStep (
                $ this-> context,
                $ translator,
                $ this-> makeLoginForm (),
                $ this-> makeCustomerForm ()
            )) * /


Ideally, create an Override of the OrderController to avoid losing your changes. You can see more info here: http://doc.prestashop.com/display/PS16/Overriding+default+behaviors#Overridingdefaultbehaviors-Overridingacontroller