Ответы:
Там только один шаг, используя 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"]);'