The Plugin module complements Drupal core's plugin system in several ways. Its main aim is to make it easy to expose your custom plugin types to the world, and to let code work with any plugin of any plugin type generically. To facilitate that, and other features, it provides the following:
- Plugin type discovery through modules'
*.plugin_type.ymlfiles. See the handbook for documentation on these files.
- Extensive support for classed plugin definitions (objects), on top of core's
- Plugin selectors allow users to select plugins of a particular type and configure them using the plugins' configuration forms. Using these reduces your form handling code from several hundreds of lines to ~5 lines of code. Some plugin forms do not correctly save their configuration. See .
- Filtered plugin manager decorators to easily filter/limit the plugins a manager can provide. These work with any existing plugin manager, and can be injected into other code easily.
- A plugin field type that allows instances of any known plugin type to be stored on content entities. Plugin selectors are available as widgets. Basic generic formatters are available.
- Overviews of known plugin types and plugins at Administer > Structure > Plugins.
- Plugin configuration schemas. This allows saved plugin configuration to be translated, for instance. Their unified naming schemas allow for easy reusability. See the handbook for documentation on the format.
This project is also an incubator for improvements to Drupal core's plugin system that can be merged into Drupal core in future minor versions.
The following projects use Plugin and/or expose their plugin types through Plugin:
This module is compatible with PHP 7.
- Maintenance status: Actively maintained
- Development status: Under active development
- Module categories: Developer, Fields, Utility
- Reported installs: 650 sites currently report using this module. View usage statistics.
- Downloads: 9,920
- Automated tests: Enabled
- Last modified: January 14, 2016
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.