| Versions | |
|---|---|
| 4.7 – 5 | search_form($action = '', $keys = '', $type = NULL, $prompt = NULL) |
| 6 | search_form(&$form_state, $action = '', $keys = '', |
| 7 | search_form($form, &$form_state, $action = '', $keys = '', $module = NULL, $prompt = NULL) |
Render a search form.
$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")
An HTML string containing the search form.
modules/
<?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);
}
?>