You are here

search_api_live_results.pages.inc in Search API live results 7

Contains page callbacks and theme functions for the frontend UI.

File

includes/search_api_live_results.pages.inc
View source
<?php

/**
 * @file
 * Contains page callbacks and theme functions for the frontend UI.
 */

/**
 * Page callback for getting live results.
 */
function search_api_live_results_json(SearchApiLiveResultsSearch $search, $keys = '') {
  $ret = array();
  $keys = explode(' ', $keys);
  $query = $search
    ->getQuery($keys);
  if ($query) {
    $max_items = !empty($search->options['num_results']) ? $search->options['num_results'] : 5;
    $query
      ->range(0, $max_items);
    $results = $query
      ->execute();
    foreach ((array) $results['results'] as $result) {
      if ($search->options['display'] == 'view_mode') {
        $ret[] = drupal_render(node_view(node_load($result['id']), 'live_results_search'));
      }
      else {
        $ret[] = l(node_load($result['id'])->title, 'node/' . $result['id']);
      }
    }
  }
  $context = array(
    'search' => $search,
    'keys' => $keys,
    'query' => $query,
    'results' => isset($results) ? $results : NULL,
  );
  drupal_alter('search_api_live_results_json', $ret, $context);
  drupal_json_output($ret);
}

Functions

Namesort descending Description
search_api_live_results_json Page callback for getting live results.