web-dev-qa-db-ja.com

フックを作成するには?

他のDrupalモジュールを利用するために、独自のフック(Drupalコアが作成するものと同様))をどのように作成できますか?

17
markdorison

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モジュールを有効にして、ノードタブの下にこの新しいフックを表示できます。

0
M a m a D