Module Installer Factory Class
Provides developers with a class for modules installer factory.
This class is working with module_name.info.yml
file with any modules key.
Let us have the module_name.info.yml
with the following items under install
key for example:
So that the installed modules could be disabled in some projects without the need to disable the used module.
It's installed only not a dependency.
How to use the Module Installer Factory Class
1. Require the Package in your root composer.json file
Or require the Package in your Project with a command
2. Add Needed Namespace
Add the following namespace in custom modules or custom installation profiles.
Use the following methods in your custom install events
Install a list of modules
Install the list of module in the varbase_core.info.yml
Arguments for installList method:
String
$moduleName: The machine name for the module.String
$modulesListKey: Optional list key which to get the list of modules from. Default 'install'. It can be changed on managed cases like (managed, when_module_name_enabled)Boolean
$setModuleWeight: A flag to auto set the weight of the module after installation of a list of modules.
which is equivalent to:
Set the weight of the module after installation of the list of modules
To make sure that any hook or event subscriber works after all used modules.
Arguments for setModuleWeightAfterInstallation:
String
$moduleName: The machine name for the module.String
$modulesListKey: Optional list key which to get the list of modules from. DefaultArray
$modules: Optional list of modules in an array.
To set the weight of the module after listed modules with a selected set of modules for example: If the varbase_core.info.yml
file had
even tho if the module did not enable them.
or can be passed as an array as follows:
At this point any hook or event subscriber will be processed after the listed modules.
Import configuration from scaned directory
Example 1: Import all field storage configs
Example 2: Import all custom settings files from a managed folder in the module.
Import configuration from array list of config files
Example 1: Import configs from a managed config folder
Arguments for importConfigsFromList method:
String
$moduleName: The machine name for the module.Array
$listOfConfigFiles: The list of config files.String
$configDirectory: The config directory which to partial import the list from.
It could be used in some cases to change the default View for the Content or People with multilingual sites or extra filters by other modules. It is important which manage the Assemble components and install
installation step.
Example 2: In Use Import of Configs
Having a custom config for a disabled module, which will be Enabled and Disabled many times with development and deployments, but they need to have the basic extra change for config over the default settings or configs for the used module.
Last updated