/** * Looks up a facet's configuration and creates a facet renderer accordingly. * * @param Facet $facet Facet * @return FacetRenderer Facet renderer as defined by the facet's configuration */ public function getFacetRendererByFacet($facet) { $facetRenderer = null; $facetConfiguration = $this->facetsConfiguration[$facet->getName() . '.']; $facetRendererClassName = $this->defaultFacetRendererClassName; if (isset($facetConfiguration['type'])) { $facetRendererClassName = $this->getFacetRendererClassNameByFacetType($facetConfiguration['type']); } $facetRenderer = GeneralUtility::makeInstance($facetRendererClassName, $facet); $this->validateObjectIsFacetRenderer($facetRenderer); return $facetRenderer; }
/** * Constructor. * * @param Facet $facet The facet to render. */ public function __construct(Facet $facet) { $this->search = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Search'); $this->facet = $facet; $this->facetName = $facet->getName(); $this->solrConfiguration = Util::getSolrConfiguration(); $this->facetConfiguration = $this->solrConfiguration['search.']['faceting.']['facets.'][$this->facetName . '.']; $this->linkTargetPageId = $GLOBALS['TSFE']->id; $this->queryLinkBuilder = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Solr\\Query\\LinkBuilder', $this->search->getQuery()); }