PHPackages                             nedac/sylius-minimum-order-value-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. nedac/sylius-minimum-order-value-plugin

ActiveSylius-plugin

nedac/sylius-minimum-order-value-plugin
=======================================

With this Sylius plugin a minimum order value can be set for each channel.

1.1.0(4y ago)86.8k15MITPHPPHP ^7.4 || ^8.0

Since Mar 10Pushed 4y ago3 watchersCompare

[ Source](https://github.com/nedac-sorbo/SyliusMinimumOrderValuePlugin)[ Packagist](https://packagist.org/packages/nedac/sylius-minimum-order-value-plugin)[ RSS](/packages/nedac-sylius-minimum-order-value-plugin/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (16)Versions (18)Used By (0)

This plugin adds the option of configuring a minimum order value for each channel.

When a minimum order value is configured it is not possible to checkout the order if the subtotal of all of the items in the cart is lower the configured minimum.

#### Configuration by administrator:

[](#configuration-by-administrator)

Configuring a minimum order value is possible by logging in as an administrator and navigating to the channel configuration:

[![admin_menu](admin_menu.png)](admin_menu.png)

Choose to edit an existing channel or to add a new one:

[![admin_channel_overview](admin_channel_overview.png)](admin_channel_overview.png)

This plugin adds a segment to the add/edit pane that can be used to set the desired minimum order value in the base currency:

[![admin_channel_details](admin_channel_details.png)](admin_channel_details.png)

By default the toggle is set to the off position and the field to enter the minimum order value is disabled. To configure the desired value use the toggle to enable the minimum order value and enter the value in the field.

#### What do visitors see?

[](#what-do-visitors-see)

When visiting the shop and not having added enough items to the shopping cart they will not be able to proceed to checkout:

[![shop_cart_summary](shop_cart_summary.png)](shop_cart_summary.png)

The checkout button is disabled and a message is displayed, providing more insight in the current status:

[![shop_minimum_order_value_message](shop_minimum_order_value_message.png)](shop_minimum_order_value_message.png)

When clicking the cart widget button, the checkout button is hidden:

[![shop_cart_widget](shop_cart_widget.png)](shop_cart_widget.png)

If a visitor tries to skip ahead to the checkout process (for example by entering the url manually), the visitor will automatically be redirected to the cart summary page.

#### How does it work?

[](#how-does-it-work)

Technically what this plugin does is a few things. It adds an optional field to the channel entity and the option to configure the fields value through the admin system.

This value is used by the MinimumOrderValueReached class, which is configured as a guard on all of the transitions of the "sylius\_order\_checkout" state machine.

By overriding the "sylius.resolver.checkout" service and disabling the original service, the plugin is able to redirect the visitor to the cart summary page when the guard blocks the transition.

Overriding that service also means that the service needs to be configured slightly differently then before (only applicable if you have a customised checkout resolver configuration):

Whereas before the the checkout resolver could be configured through key "sylius\_shop", it now needs to be done through key "nedac\_sylius\_minimum\_order\_value":

```
nedac_sylius_minimum_order_value:
  checkout_resolver:
    pattern: /checkout/.+
    route_map:
      empty_order:
        route: sylius_shop_cart_summary
      cart:
        route: sylius_shop_checkout_address
      addressed:
        route: sylius_shop_checkout_select_shipping
      shipping_selected:
        route: sylius_shop_checkout_select_payment
      shipping_skipped:
        route: sylius_shop_checkout_select_payment
      payment_selected:
        route: sylius_shop_checkout_complete
      payment_skipped:
        route: sylius_shop_checkout_complete
```

This is the default configuration added by this plugin in `src/Resources/config/config.yaml`. It can be overridden on an application level as with any Symfony bundle configuration.

Please see the official Sylius docs on how to configure the checkout resolver, should there be any need to do so.

##### Supported Sylius versions:

[](#supported-sylius-versions)

 1.10> ***NOTE:*** *This plugin requires PHP 7.4 or up*

#### Installation:

[](#installation)

1. Install using composer:

    ```
    composer require nedac/sylius-minimum-order-value-plugin
    ```
2. Generate and run database migration:

    ```
    bin/console doctrine:migrations:diff
    bin/console doctrine:migrations:migrate
    ```
3. Install assets:

    ```
    bin/console sylius:install:assets
    ```

The flex recipe should take care of enabling the bundle, copying the configuration file and copying the templates that need to be overridden. It is quite possible that you're already overriding one or more templates. In that case you'll have to edit/merge those templates manually with the templates that can be found in `src/Resources/templates`.

###  Health Score

37

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 88.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~38 days

Recently: every ~31 days

Total

16

Last Release

1668d ago

Major Versions

0.2.1 → 1.0.02021-06-10

PHP version history (2 changes)0.0.1PHP ^7.4

1.0.1PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d42655861239ba3bdd6d389e293e16d2522c0044f3939af3686a4727e408288?d=identicon)[nedac](/maintainers/nedac)

---

Top Contributors

[![nedac-sorbo](https://avatars.githubusercontent.com/u/46560227?v=4)](https://github.com/nedac-sorbo "nedac-sorbo (159 commits)")[![4c0n](https://avatars.githubusercontent.com/u/2325383?v=4)](https://github.com/4c0n "4c0n (17 commits)")[![DieterHolvoet](https://avatars.githubusercontent.com/u/3606531?v=4)](https://github.com/DieterHolvoet "DieterHolvoet (2 commits)")[![joenilson](https://avatars.githubusercontent.com/u/3353280?v=4)](https://github.com/joenilson "joenilson (1 commits)")[![sylvanotech](https://avatars.githubusercontent.com/u/261618799?v=4)](https://github.com/sylvanotech "sylvanotech (1 commits)")

---

Tags

syliusvaluesylius-pluginorderminimum

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/nedac-sylius-minimum-order-value-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/nedac-sylius-minimum-order-value-plugin/health.svg)](https://phpackages.com/packages/nedac-sylius-minimum-order-value-plugin)
```

###  Alternatives

[bitbag/cms-plugin

CMS plugin for Sylius applications.

2461.1M5](/packages/bitbag-cms-plugin)[sylius/invoicing-plugin

Invoicing plugin for Sylius.

901.0M2](/packages/sylius-invoicing-plugin)[sylius/refund-plugin

Plugin provides basic refunds functionality for Sylius application.

691.7M13](/packages/sylius-refund-plugin)[stefandoorn/sitemap-plugin

Sitemap Plugin for Sylius

851.0M](/packages/stefandoorn-sitemap-plugin)[sylius/paypal-plugin

PayPal plugin for Sylius.

451.4M4](/packages/sylius-paypal-plugin)[monsieurbiz/sylius-rich-editor-plugin

A Rich Editor plugin for Sylius.

75380.8k6](/packages/monsieurbiz-sylius-rich-editor-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
