Disable the e-commerce on your Sylius.

Installs: 8 766

Dependents: 0

Suggesters: 0

Security: 0

Stars: 10

Watchers: 6

Forks: 4

Open Issues: 2



Monsieur Biz logo      Sylius logo
Monsieur Biz is a Sylius Extension Artisan partner

No Commerce for Sylius

No Commerce Plugin license Security Tests Flex Recipe

This plugin disables the e-commerce parts of Sylius.
Basically it disables the routes and updates the admin and frontend templates.


composer require monsieurbiz/sylius-no-commerce-plugin
For the installation without flex, follow these additional steps

Change your config/bundles.php file to add this line for the plugin declaration:


return [
    MonsieurBiz\SyliusNoCommercePlugin\MonsieurBizSyliusNoCommercePlugin::class => ['all' => true],

Then create the config file in config/packages/monsieurbiz_sylius_nocommerce_plugin.yaml:

    - { resource: "@MonsieurBizSyliusNoCommercePlugin/Resources/config/config.yaml" }

Add some annotations to your src/Entity/Channel/Channel.php entity to prevent error during Channel saving:

   * @ORM\Entity
   * @ORM\Table(name="sylius_channel")
+  * @ORM\AssociationOverrides({
+  *     @ORM\AssociationOverride(name="baseCurrency",
+  *         joinColumns=@ORM\JoinColumn(
+  *             name="base_currency_id", referencedColumnName="id", nullable=true
+  *         )
+  *     )
+  * })
  class Channel extends BaseChannel

Use a different trait for your src/Kernel.php:

-     use MicroKernelTrait;
+     use SyliusNoCommerceKernelTrait;

(don't forget the use MonsieurBiz\SyliusNoCommercePlugin\Kernel\SyliusNoCommerceKernelTrait; statement or course).

Copy the templates we override:

cp -Rv vendor/monsieurbiz/sylius-no-commerce-plugin/src/Resources/templates/* templates/

Create the new migrations, and run them:

./bin/console doctrine:migrations:diff
./bin/console doctrine:migrations:migrate

Re-enable features

In the config file config/packages/monsieurbiz_sylius_nocommerce_plugin.yaml, add this lines:

# ...
        allow_countries: false
        allow_customers: false
        allow_zones: false

You can allow different sections by changing the parameters to true.


You can open an issue or a Pull Request if you want! 😘
Thank you!