search_form

  1. drupal
    1. 4.7
    2. 5 search.module
    3. 6 search.module
    4. 7 search.module
Versions
4.7 – 5 search_form($action = '', $keys = '', $type = NULL, $prompt = NULL)
6 search_form(&$form_state, $action = '', $keys = '', $type = NULL, $prompt = NULL)
7 search_form($form, &$form_state, $action = '', $keys = '', $module = NULL, $prompt = NULL)

Render a search form.

Parameters

$action Form action. Defaults to "search".

$keys The search string entered by the user, containing keywords for the search.

$type The type of search to render the node for. Must be the name of module which implements hook_search(). Defaults to 'node'.

$prompt A piece of text to put before the form (e.g. "Enter your keywords")

Return value

An HTML string containing the search form.

Related topics

▾ 3 functions call search_form()

node_admin_search in modules/node.module
search_view in modules/search.module
Menu callback; presents the search form and/or search results.
user_admin in modules/user.module

Code

modules/search.module, line 972

<?php
function search_form($action = '', $keys = '', $type = NULL, $prompt = NULL) {
  if (!$action) {
    $action = url('search/' . $type);
  }
  if (is_null($prompt)) {
    $prompt = t('Enter your keywords');
  }

  $form = array(
    '#action' => $action, 
    '#attributes' => array('class' => 'search-form'),
  );
  $form['module'] = array(
    '#type' => 'value',
    '#value' => $type,
  );
  $form['basic'] = array(
    '#type' => 'item',
    '#title' => $prompt,
  );
  $form['basic']['inline'] = array(
    '#prefix' => '<div class="container-inline">',
    '#suffix' => '</div>',
  );
  $form['basic']['inline']['keys'] = array(
    '#type' => 'textfield', 
    '#title' => '', 
    '#default_value' => $keys, 
    '#size' => $prompt ? 40 : 20, 
    '#maxlength' => 255,
  );
  // processed_keys is used to coordinate keyword passing between other forms
  // that hook into the basic search form.
  $form['basic']['inline']['processed_keys'] = array(
    '#type' => 'value',
    '#value' => array(),
  );
  $form['basic']['inline']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Search'),
  );

  return drupal_get_form('search_form', $form);
}
?>