CoreShop Checkout Manager
CoreShop Checkout
CoreShop uses a CheckoutManager to handle Checkout steps. The default installation comes with following Steps:
- Cart
- Customer
- Address
- Shipping
- Payment
- Summary
Create a Custom CheckoutManager
If you want to modify the Checkout Manager, you have two options:
- Create a total different Checkout Manager configuration
- Modify the default configuration
Create a total different Checkout Manager
# app/config/config.yml
core_shop_core:
    checkout_manager: my_custom_manager
    checkout:
      my_custom_manager:
        steps:
          customer:
            step: coreshop.checkout.step.customer
            priority: 10
          address:
            step: coreshop.checkout.step.address
            priority: 20
          shipping:
            step: coreshop.checkout.step.shipping
            priority: 30
          payment:
            step: coreshop.checkout.step.payment
            priority: 40
          summary:
            step: coreshop.checkout.step.summary
            priority: 50
Modify the default configuration
# app/config/config.yml
core_shop_core:
    checkout:
        default:
            steps:
              payment: false                                              # disables the payment step
              shipping: false                                             # disables the shipping step
              payment_shipping:                                           # adds a new PaymentShiping Step
                  step: app_bundle.coreshop.checkout.payment_shipping     # This is your service-id, the service needs to implement CoreShop\Component\Order\Checkout\CheckoutStepInterface
                  priority: 40                                            # Priority of this step