function template_preprocess_search_result

Same name in other branches
  1. 9 core/modules/search/search.pages.inc \template_preprocess_search_result()
  2. 8.9.x core/modules/search/search.pages.inc \template_preprocess_search_result()
  3. 10 core/modules/search/search.pages.inc \template_preprocess_search_result()
  4. 11.x core/modules/search/search.pages.inc \template_preprocess_search_result()

Process variables for search-result.tpl.php.

The $variables array contains the following arguments:

  • $result
  • $module

See also

search-result.tpl.php

File

modules/search/search.pages.inc, line 106

Code

function template_preprocess_search_result(&$variables) {
    global $language;
    $result = $variables['result'];
    $variables['url'] = check_url($result['link']);
    $variables['title'] = check_plain($result['title']);
    if (isset($result['language']) && $result['language'] != $language->language && $result['language'] != LANGUAGE_NONE) {
        $variables['title_attributes_array']['xml:lang'] = $result['language'];
        $variables['content_attributes_array']['xml:lang'] = $result['language'];
    }
    $info = array();
    if (!empty($result['module'])) {
        $info['module'] = check_plain($result['module']);
    }
    if (!empty($result['user'])) {
        $info['user'] = $result['user'];
    }
    if (!empty($result['date'])) {
        $info['date'] = format_date($result['date'], 'short');
    }
    if (isset($result['extra']) && is_array($result['extra'])) {
        $info = array_merge($info, $result['extra']);
    }
    // Check for existence. User search does not include snippets.
    $variables['snippet'] = isset($result['snippet']) ? $result['snippet'] : '';
    // Provide separated and grouped meta information..
    $variables['info_split'] = $info;
    $variables['info'] = implode(' - ', $info);
    $variables['theme_hook_suggestions'][] = 'search_result__' . $variables['module'];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.