You are browsing documentation for version 5.0 of OroCommerce, supported until January 2025. Read the documentation for version 6.0 (the latest LTS version) to get up-to-date information.

See our Release Process documentation for more information on the currently supported and upcoming releases.

Create a Bundle 

Create a Bundle Manually 

First you need to specify name and namespace of your bundle. Symfony framework already has best practices for bundle structure and bundle name and we recommend to follow these practices and use them.

Let us assume that we want to create the AcmeDemoBundle and put it under the namespace Acme\Bundle\DemoBundle in the /src directory. We need to create the corresponding directory structure and the bundle file with the following content:

 namespace Acme\Bundle\DemoBundle;

 use Symfony\Component\HttpKernel\Bundle\Bundle;

 class DemoBundle extends Bundle

Basically, it is a regular Symfony bundle. The only difference is in the way it will be enabled (see chapter Enable a Bundle).

Enable a Bundle 

Now you have all the required files to enable the new bundle. To enable the bundle:

  1. Create Resources/config/oro/bundles.yml with the following content:

         - Acme\Bundle\DemoBundle\AcmeDemoBundle

    This file provides a list of bundles to register — all such files will be automatically parsed to load required bundles.

  2. Regenerate the application cache using the console command cache:clear:

    user@host:/var/www/vhosts/platform-application$ php bin/console cache:clear
    Clearing the cache for the dev environment with debug true


    If you are working in production environment, you have to use parameter --env=prod with the command.

Check if your bundle is registered and active with following command:

php bin/console debug:container --parameter=kernel.bundles --format=json | grep AcmeNewBundle


Replace grep argument with your bundle’s proper name

In case if your bundle is registered and active next output(alike one) will be displayed in console after running the command

"AcmeNewBundle": "Acme\\Bundle\\DemoBundle\\AcmeDemoBundle",

That is all — your bundle is registered and active!