public static function setupSteps($steps = null)
    {
        if (!is_array($steps)) {
            //default steps
            $steps =[
                'membership'      => Membership::class,
                'contactdetails'  => ContactDetails::class,
                'shippingaddress' => Address::class,
                'billingaddress'  => Address::class,
                'paymentmethod'   => PaymentMethod::class,
                'summary'         => Summary::class,
            ];
        }

        CheckoutPage::config()->steps = $steps;

        if (!CheckoutPage::config()->first_step) {
            reset($steps);
            CheckoutPage::config()->first_step = key($steps);
        }
        //initiate extensions
        CheckoutPageController::add_extension(SteppedCheckoutExtension::class);
        foreach ($steps as $action => $classname) {
            CheckoutPageController::add_extension($classname);
        }
    }
public static function setupSteps($steps = null)
    {
        if (!is_array($steps)) {
            //default steps
            $steps =[
                'membership'      => Membership::class,
                'contactdetails'  => ContactDetails::class,
                'shippingaddress' => Address::class,
                'billingaddress'  => Address::class,
                'paymentmethod'   => PaymentMethod::class,
                'summary'         => Summary::class,
            ];
        }

        CheckoutPage::config()->steps = $steps;

        if (!CheckoutPage::config()->first_step) {
            reset($steps);
            CheckoutPage::config()->first_step = key($steps);
        }
        //initiate extensions
        CheckoutPageController::add_extension(SteppedCheckoutExtension::class);
        foreach ($steps as $action => $classname) {
            CheckoutPageController::add_extension($classname);
        }
    }
public static function setupSteps ( $ steps = null ) { if ( ! is_array ( $ steps ) ) { //default steps $ steps = [ 'membership' => Membership :: class , 'contactdetails' => ContactDetails :: class , 'shippingaddress' => Address :: class , 'billingaddress' => Address :: class , 'paymentmethod' => PaymentMethod :: class , 'summary' => Summary :: class , ] ; } CheckoutPage :: config ( ) -> steps = $ steps ; if ( ! CheckoutPage :: config ( ) -> first_step ) { reset ( $ steps ) ; CheckoutPage :: config ( ) -> first_step = key ( $ steps ) ; } //initiate extensions CheckoutPageController :: add_extension ( SteppedCheckoutExtension :: class ) ; foreach ( $ steps as $ action => $ classname ) { CheckoutPageController :: add_extension ( $ classname ) ; } }
Set up CheckoutPage_Controller decorators for managing steps
Set up CheckoutPage_Controller decorators for managing steps