pict-drupal.pngここではDrupalのモジュール自身のウェイトを変更する方法を紹介します。

Drupalではモジュールはhook関数群を使用してモジュール独自の機能を追加したりするのですが、複数のモジュールが同じhook関数を使用している場合に、どのモジュールのhook関数からコールされるかはモジュールのweightによって決定されます。自分のモジュールのhook関数が他のモジュールよりも必ず先に呼ばれてほしい場合には小さな数字(もしくはマイナスの値)をウェイトに指定します。その逆に一番最後に呼ばれてほしい、というような理由がある場合にモジュールのウェイトを大きな数字(たとえば100とか1000とか)にします。

ウェイトを変更するにはモジュールのhook_install()関数内で以下のコードを記述します。

  1. db_query("UPDATE {system} SET weight = [ウェイト数値] WHERE name = 'モジュール名'");

Drupal Coreのhook関数はウェイト0に設定されていますので、マイナスのウェイトを指定すればCoreのhook関数より先にコールされることになります。

参照元
How to update a module's weight
http://drupal.org/node/110238

ちなみに以下のモジュールを使うとインストールされている全モジュールのウェイトを管理画面から変更することが可能です。
Utilityモジュール
http://drupal.org/project/util

 

あなたの評価: なし 平均: 5 (1 vote)