3

どの関数からでもそのモジュールの変数にアクセスできるように、drupal モジュールで変数を定義する方法

4

2 に答える 2

5

variable_set () とvariable_get ( ) を試してください

次のように変数を設定します。

// I have assumed the variable name to be "the_name_of_the_variable"
variable_set("the_name_of_the_variable", "the value of the variable");

そして、次のように値を取得します。

$my_variable = variable_get("the_name_of_the_variable", "a default value in case the variable has never been set before");
于 2012-11-23T12:46:12.783 に答える
0

Drupal でページが読み込まれるたびに、すべての.moduleファイルが読み込まれます。しかし、これはincファイルには当てはまりません。

Inc ファイルは、メニュー フックで言及されている場合、または module_load_include を使用してモジュール ファイルで明示的に言及されている場合にのみロードされます。

// Load node.admin.inc from the node module.
  module_load_include('inc', 'node', 'node.admin');

これはあなたの質問にほとんど答えていると思います。したがって、これらのファイルで変数をグローバルとして定義する必要があります。

あなたの質問によって、あなたのモジュールで定義されている関数の範囲もあなたのモジュールのみに限定されるべきであるという意味であれば、今のところ解決策はないと思います。ただし、少なくとも上記の方法では、モジュールがアクションを実行していないときに変数が読み込まれないようにします。

于 2012-11-23T14:47:07.377 に答える