search_form

Definition

search_form(&$form_state, $action = '', $keys = '', $type = NULL, $prompt = NULL)
modules/search/search.module, line 1020

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

<?php
function search_form(&$form_state, $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;
}
?>
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.