web-dev-qa-db-ja.com

プログラムでモジュールをインストールして有効にするにはどうすればよいですか?

Drupal 6にはそれを実行するためのリソースがたくさんありますが、Drupal 7.の解決策は見つかりませんでした。

選択したモジュールをインストールして有効にするにはどうすればよいですか?

17
Codium

module_enable() を使用すると、手順は1つだけです:

$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

次に、別の有効なモジュールの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);
}
8
elvis2

Drupal 7ではこれ以上ありません drupal_install_modules() なので、プログラムでモジュールのインストールプロセスを強制的に実行したい場合(既に有効になっている場合)は、以下を使用できます。

module_invoke('module_name', 'install');

有効にするには、次のようにします。

module_enable(array('module_name'));

または、展開プロセスの一部としてdrushを使用します。

drush -y en module_name
1
kenorb

drupal 8の場合、以下を使用できます。

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

急いで:

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