質問

他のDrupalモジュールが利用できるように、独自のフック(Drupal Coreが作成するものと同様)を作成するにはどうすればよいですか?

役に立ちましたか?

解決

実際にフックを作成しません。次のようなヘルパー関数を使用します module_invoke_all(), module_invoke() また drupal_alter() 予想される名前パターンに一致するすべての関数を呼び出すには。呼び出された関数は通常、で見つかります module_implements().

フックが機能するのが必要でない場合でも、ベストプラクティスはそれらを文書化することです MODULE.api.php 空に作成します スタブ hook_NAME で関数 ドキュメントコメント.

他のヒント

使用してフックを作成することもできます hook_trigger_info 新しいフックを作成できます。モジュールでは、実装する必要があります。例として、ノードのアーカイブを作成し、古いノードを入れたいとします。また、アーカイブ操作が完了したときにフックをトリガーする必要があります。このようなものになるでしょう

function hook_trigger_info() {
    return array(
            'node' => array(
                    'archive_nodes' => array(
                        'label' => t('Archive old nodes'),
                    )
            )
    );
} 

フックを定義した後、モジュールはフックとアクションを使用して実装する責任があります module_invoke() また module_invoke_all() .

を有効にすることができます trigger この新しいフックをノードタブの下に表示するモジュール。

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