Create plugin

This guide shows you how to create a new plugin. It's a good choice to visit Shopware's documentation first if you are not familar with Shopware plugins:

Create a subdirectory

In your plugin directory create a new sub-directory which will be the source directory of your main plugin. Name it whatever you want. The name should be meaningful and describe the main functionality of your plugin. It's a good choice to use the name of the plugin as directory name:

<plugin-dir> |— FooBar/

composer.json file

We now have to create a plugin composer.json file. You can take a look at the Shopware documentation about the contents of the file:

The important part of the composer.json file is the autoload-section. Make sure your plugin namespace links to the subdirectory created before.

The example plugin "Bar" from the "Foo"-company would look like this:

<plugin-dir> |— FooBar/ |— composer.json

The composer.json file could look like this:

As you can see we already registered a plugin base class in the extra-section. But this class does not exist yet.

Create a plugin base class

Note that we do not inherit from the typical Shopware Plugin-class but from Dustin\ShopwareUtils\Core\Framework\Plugin. This is important for using features like automatic custom field installation and more.

If you have installed dustin/shopware-utils directly in your plugin, you also have to overwrite the createAdditionalBundles-method and return a ShopwareUtils-object. For more details take a look at here: The complex way - Integrate into your plugin

Last updated