Відповіді:
Існує лише один крок, використовуючи module_enable()
:
$modules = array('module1', 'module2'); // Array of module names
$enable_dependencies = TRUE; // Whether or not to enable dependant modules
module_enable($modules, $enable_dependencies);
Ось як це можна зробити з оновленням бази даних, використовуючи файл hook_update_N
іншого модуля *.install
. Потім ви можете зайти /update.php
в браузер або запустити $ drush updb
в командному рядку, щоб цей код був запущений .
/**
* Enable module1 and module2.
*/
function MYMODULE_update_7101() {
// Array of module names.
$modules = ['module1', 'module2'];
// Whether or not to enable dependant modules.
$enable_dependencies = TRUE;
module_enable($modules, $enable_dependencies);
}
У Drupal 7 більше немає drupal_install_modules () , тому, якщо ви хочете програмно примусити процес установки модуля (якщо він уже включений), ви можете використовувати:
module_invoke('module_name', 'install');
Щоб увімкнути, це просто:
module_enable(array('module_name'));
Або використовуючи drush
як частину процесу розгортання:
drush -y en module_name
Для drupal 8 ви можете використовувати наступне:
\Drupal::service("module_installer")->install(["my_custom_module"]);
У друші:
drush php-eval '\Drupal::service("module_installer")->install(["my_custom_module"]);'