1 search.api.php hook_search_info()

Define a custom search type.

This hook allows a module to tell search.module that it wishes to perform searches on content it defines (custom node types, users, or comments for example) when a site search is performed.

In order for the search to do anything, your module must also implement hook_search_execute(), which is called when someone requests a search on your module's type of content. If you want to have your content indexed in the standard search index, your module should also implement hook_update_index(). If your search type has settings, you can implement hook_search_admin() to add them to the search settings page. You can use hook_form_FORM_ID_alter(), with FORM_ID set to 'search_form', to add fields to the search form (see node_form_search_form_alter() for an example). You can use hook_search_access() to limit access to searching, and hook_search_page() to override how search results are displayed.

Return value

Array with optional keys::

  • title: Title for the tab on the search page for this module. Title must be untranslated, but to register it within translation database pass it through the t() function separately.
  • path: Path component after 'search/' for searching with this module. Defaults to the module name if not given.
  • conditions_callback: An implementation of callback_search_conditions().

Related topics

File

core/modules/search/search.api.php, line 41
Hooks provided by the Search module.

Code

function hook_search_info() {
  // If the title string 'Content' will need to be translated, register it in
  // the translation system by calling t() before returning the untranslated
  // string below.
  t('Content');

  return array(
    'title' => 'Content',
    'path' => 'node',
    'conditions_callback' => 'callback_search_conditions',
  );
}