現時点では、node_search_executeに渡されるオプションのリストに「現在の言語」を強制しようとしています。残念ながら、関数フックを配置する適切な場所を見つけるのに苦労しています。おそらく私は何か簡単なものが欠けています。
これをどのように実装するかについて、2つの基本的な可能性にたどり着きました。
(1)実装hook_search_info
およびhook_search_execute
この場合、コードをコピーしnode_search_execute
て、検索クエリに「AND Language='$current_language'」を追加する行を追加します。
mythemename_search_info
テーマフォルダに関数を追加しようとしましたmythemename_search_execute
が、実行されません。実行時。
function mythemename_search_info() {
return array(
'title' => 'Content',
'path' => 'node',
'conditions_callback' => 'mythemename_search_execute',
);
}
function mythemename_search_execute($keys = NULL, $conditions = NULL){
return array();
}
この例では、オーバーライドが実行されていることを確認できるように「結果なし」を取得したいので、完全な検索機能を実装します。
(2)実装hook_search_preprocess()
私も試しましたmythemename_search_preprocess()
function mythemename_search_preprocess($text) {
// Do processing on $text
echo $text; die();
$text = "french";
return $text;
}
しかし、繰り返しになりますが、期待した結果が得られません(テキストが少し入った白いページ)
したがって、私が何をしていても、これらの検索フックは検出されません。
何が欠けていますか?それらはおそらくモジュールに含まれている必要がありますか?