it-swarm.com.de

Wie installiere und aktiviere ich programmgesteuert ein Modul?

Es gibt eine Menge Ressourcen dafür in Drupal 6, aber ich habe keine Lösung für Drupal 7) gefunden.

Wie kann ich ausgewählte Module installieren und aktivieren?

17
Codium

Es gibt nur einen Schritt mit 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);
27
Clive

So würden Sie es mit einem Datenbank-Update machen, indem Sie hook_update_N aus der *.install - Datei eines anderen aktivierten Moduls verwenden. Anschließend können Sie /update.php Im Browser aufrufen oder $ drush updb In der Befehlszeile ausführen, um diesen Code abzufeuern.

/**
 * 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);
}
8
elvis2

In Drupal 7 gibt es kein mehr drupal_install_modules () . Wenn Sie den Modulinstallationsprozess programmgesteuert erzwingen möchten (falls er bereits aktiviert ist), können Sie Folgendes verwenden:

module_invoke('module_name', 'install');

Zum Aktivieren ist es einfach:

module_enable(array('module_name'));

Oder verwenden Sie drush als Teil des Bereitstellungsprozesses:

drush -y en module_name
1
kenorb

Für drupal 8) können Sie Folgendes verwenden:

\Drupal::service("module_installer")->install(["my_custom_module"]);

In Drush:

drush php-eval '\Drupal::service("module_installer")->install(["my_custom_module"]);'
1