私のモジュールの新しいバージョンは、古いバージョンよりも多くのモジュールに依存します。モジュールユーザーをインストールする方法は?

drupal.stackexchange https://drupal.stackexchange.com/questions/1031

  •  16-10-2019
  •  | 
  •  

質問

開発した既存のモジュールを更新しています。新しいバージョンでは、古いバージョンがそうではなかった「ヘルパー」モジュールが必要です(fwiw、具体的には「nodereference count」)。私のモジュールの以前のバージョンから新しいバージョンに人々がアップグレードしたときに、彼らが最初に新しく必要なヘルパーモジュールを必ずインストールするようにするにはどうすればよいですか?

hook_update_n関数に入れなければならないものはありますか?

ありがとう。

役に立ちましたか?

解決

使用できます hook_requirements(), 、モジュールがインストール/更新されたときにエラーを表示できるようにする必要があります。

または、それがうまくいかない場合は、実装できます hook_init() モジュールのチェックを実行し、それに応じて対応します。

アップデート: 私は自分で同じ問題に遭遇したばかりで、ここに私が使用したコードがあります。

/**
 * Implements hook_init().
 */
function MYMODULE_init() {
  if (!module_exists('ctools')) {
    module_enable(array('ctools'));
    if (!module_exists('ctools')) {
      drupal_set_message(t('MYMODULE has been disabled as the required !ctools module is not present.', array('!ctools' => l(t('Chaos tool suite'), 'http://drupal.org/project/ctools'))), 'error');
      module_disable(array('MYMODULE'));
    }
  }
}

これにより、必要なモジュールが有効になり、そうすることができない場合は、ユーザーにエラーメッセージが表示され、モジュールが無効になります。

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top