Odpowiedzi:
Jest tylko jeden krok, używając 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);
Oto, jak zrobiłbyś to z aktualizacją bazy danych przy użyciu pliku hook_update_N
innego włączonego modułu *.install
. Następnie możesz odwiedzić /update.php
w przeglądarce lub uruchomić $ drush updb
w wierszu polecenia, aby uruchomić ten kod.
/**
* 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);
}
W Drupal 7 nie ma już drupal_install_modules () , dlatego jeśli chcesz wymusić programowy proces instalacji modułu (jeśli jest już włączony), możesz użyć:
module_invoke('module_name', 'install');
Aby włączyć, po prostu:
module_enable(array('module_name'));
Lub używając drush
jako część procesu wdrażania:
drush -y en module_name
W przypadku drupal 8 możesz użyć:
\Drupal::service("module_installer")->install(["my_custom_module"]);
W pośpiechu:
drush php-eval '\Drupal::service("module_installer")->install(["my_custom_module"]);'