protected function initialize_facet($reply_set, $query, $config) { $facets = array(); if (property_exists($reply_set, 'facets') && property_exists($reply_set->facets, 'facet')) { foreach ($reply_set->facets->facet as $facet) { $helper = new AfsFacetHelper($facet, $query, $config, $this->get_meta()->get_feed()); $facets[$helper->get_id()] = $helper; } } $facet_mgr = $query->get_facet_manager(); if ($facet_mgr->has_facets()) { sort_array_by_key(array_keys($facet_mgr->get_facets()), $facets); } $this->facets = array_values($facets); // preserve compatibility }
/** @brief Defines facet sort order. * @param $ids [in] List of facet identifiers in the right sort order. * @param $mode [in] Sort order mode (see AfsFacetOrder for more details). */ public function set_facet_order(array $ids, $mode) { AfsFacetOrder::check_value($mode, 'Invalid sort order: '); sort_array_by_key($ids, $this->facets, "simple_facet_creator"); $this->facet_sort_mode = $mode; }