web-dev-qa-db-ja.com

管理インターフェイスまたはDrushを介してモジュールを無効にするにはどうすればよいですか?

Drupal 7では、管理インターフェイスまたはDrushを介してモジュールを無効にすることができましたdrush pm-disable。 Drupal 8では、管理インターフェイスのチェックボックスがグレー表示され、Drushはpm-disableを使用してチェックボックスを無効にできませんか?Drupal 8 Drushを使用するか、管理UIを使用しますか?または、このようなタスクにDrupalコンソールが必要ですか?

(誤って「プログラムで」Wordを使用したことによって引き起こされた混乱のため申し訳ありませんが、「コマンドラインを介して」の意味を参照していました)

10
jbitdrop

drupal console https://drupalconsole.com/ を使用して、次のコマンドを使用することもできます。

drupal module:uninstall token

そしてインストールのために

drupal module:install token
2
johnatasjmo

アドミンインターフェイスDrupal 8メッセージ領域の状態と同様に、パラダイムと概念モジュールのインストールと無効化にはchangedin Drupal 8、データベースの残り物とデータのため、以前の状態に関連する多くの問題があったためモジュールの無効化および有効化時の不整合など.

したがって、ユーザーはむしろモジュールを無効にするのではなくアンインストールするをD8で使用することをお勧めします。これは、モジュールがDrupalルートから削除または削除されたという意味ではありませんが、構成を含めてデータベースから完全に削除されています。

代わりにdrush pm-uninstall module-nameを試してください。そうすれば、目的の効果が得られます。

チェックボックスはグレー表示され、D7で知られている方法で非アクティブなモジュールを有効にしてインストールすることができます。ただし、この方法で無効にすることはできません。また、アンインストールはチェックボックスによって提供されるべきではありません。これは危険なためです。

管理インターフェースを2回見てください。モジュールをアンインストールするための新しいタブもあります。

10
diqidoq

質問がprogrammaticallyを要求するので、私が最初にここに来た理由は、MYMODULE.install内に配置する作業コードスニペットを追加することです。

/**
 * Uninstall Field UI.
 */
function MYMODULE_update_8001(&$sandbox) {

  \Drupal::service('module_installer')->uninstall(['field_ui']);

}
3
leymannx