モジュールのフックをオーバーライド/実装する方法


7

モジュールのフックをオーバーライドすることは可能ですか?私が欲しいのは、search__query_alter()検索結果を制限するフックを書くことです。しかし、これを実現するには、組み込みモジュール検索の.moduleファイルにフックを記述する必要があります。

このように、私はコアdrupalファイルにハッキングしています。コアdrupalファイルに触れずに、テーマtemplate.phpファイルまたは別の場所に別のモジュールのフックを書き込む方法はありますか?search_query_alter()テーマのtemplate.phpファイルに書き込むと、機能しません。

私の質問から、あなたは私がDrupalに非常に新しいことを理解しているかもしれません!助けてくれてありがとう。

回答:


6

カスタムモジュールを作成し、それにカスタムフック関数を追加する必要があります。関数名はになりますmodulename_query_alter ()。Drupalは、有効なモジュールでそのパターンに従う関数を検索することにより、含まれるすべてのフックのリストを維持します。

作成手順はこちらです。これは、サイトにカスタム動作を導入するための基本的な手段です。ここでは、フックシステムについて説明しますここでは、hook_query_alter関数の使用方法を確認する必要があります。

これはあなたを始めさせ、間違いなくさらなる質問につながります。


2

小さなカスタムモジュールを作成して、フックをオーバーライドしたり、フックを使用してデータを追加したりできます。モジュールの作成方法については、ここから始めてください。http//drupal.org/node/361112

基本的に、あなたは追加します:

function MYMODULE_query_alter () {
  //put your code here
}

ここで、MYMODULEはカスタムモジュールの名前です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.