You are here

public function SearchFacetapiTerm::build in Faceted Navigation for Search 7

Initializes the facet's build array.

Return value

array The initialized render array.

File

plugins/facetapi/query_type_term.inc, line 67
Term query type plugin for the Faceted Navigation for Search adapter.

Class

SearchFacetapiTerm
Plugin for "term" query types.

Code

public function build() {
  $build = array();

  // Makes sure there was at least one match.
  if (!$this->adapter->hasMatches) {
    return array();
  }

  // Gets base facet query, adds facet field and filters.
  $facet_query = clone $this->adapter
    ->getFacetQueryExtender();
  $query_info = $this->adapter
    ->getQueryInfo($this->facet);
  $facet_query
    ->addFacetField($query_info);
  foreach ($query_info['joins'] as $table_alias => $join_info) {
    $facet_query
      ->addFacetJoin($query_info, $table_alias);
  }

  // Executes query, iterates over results.
  $result = $facet_query
    ->execute();
  foreach ($result as $record) {
    $build[$record->value] = array(
      '#count' => $record->count,
    );
  }

  // Returns initialized build.
  return $build;
}