Risposte:
C'è solo un passo, usando 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);
Ecco come lo faresti con un aggiornamento del database utilizzando hook_update_N
dal file di un altro modulo abilitato *.install
. Quindi è possibile visitare /update.php
il browser o eseguire $ drush updb
dalla riga di comando per attivare questo codice.
/**
* 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);
}
In Drupal 7 non c'è più drupal_install_modules () , quindi se vuoi forzare il processo di installazione del modulo a livello di codice (se è già abilitato), puoi usare:
module_invoke('module_name', 'install');
Per abilitare, è semplicemente:
module_enable(array('module_name'));
O usando drush
come parte del processo di distribuzione:
drush -y en module_name
Per drupal 8 è possibile utilizzare quanto segue:
\Drupal::service("module_installer")->install(["my_custom_module"]);
In drush:
drush php-eval '\Drupal::service("module_installer")->install(["my_custom_module"]);'