You are here

function template_preprocess_search_block_form in Drupal 7

Same name and namespace in other branches
  1. 6 modules/search/search.module \template_preprocess_search_block_form()

Process variables for search-block-form.tpl.php.

The $variables array contains the following arguments:

  • $form

See also

search-block-form.tpl.php

Related topics

File

modules/search/search.module, line 1065
Enables site-wide keyword searching.

Code

function template_preprocess_search_block_form(&$variables) {
  $variables['search'] = array();
  $hidden = array();

  // Provide variables named after form keys so themers can print each element independently.
  foreach (element_children($variables['form']) as $key) {
    $type = isset($variables['form'][$key]['#type']) ? $variables['form'][$key]['#type'] : '';
    if ($type == 'hidden' || $type == 'token') {
      $hidden[] = drupal_render($variables['form'][$key]);
    }
    else {
      $variables['search'][$key] = drupal_render($variables['form'][$key]);
    }
  }

  // Hidden form elements have no value to themers. No need for separation.
  $variables['search']['hidden'] = implode($hidden);

  // Collect all form elements to make it easier to print the whole form.
  $variables['search_form'] = implode($variables['search']);
}