search_form

Definition

search_form($action = '', $keys = '', $type = NULL, $prompt = NULL)
drupal/modules/search/search.module, line 975

Description

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

Namesort iconDescription
Search interfaceThe Drupal search interface manages a global search mechanism.

Code

function search_form($action = '', $keys = '', $type = NULL, $prompt = NULL) {

  // Add CSS
  drupal_add_css(drupal_get_path('module', 'search') .'/search.css', 'module', 'all', FALSE);

  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 $form;
}