Skip to content

Instantly share code, notes, and snippets.

@wizhippo
Created August 16, 2017 17:18
Show Gist options
  • Save wizhippo/d43588e0723f8c1b46ee5ea236523ad9 to your computer and use it in GitHub Desktop.
Save wizhippo/d43588e0723f8c1b46ee5ea236523ad9 to your computer and use it in GitHub Desktop.
<?php
/**
* Visits the EzTag facet builder.
*/
class EzTag extends FacetBuilderVisitor implements FacetFieldVisitor
{
/**
* {@inheritdoc}.
*/
public function mapField($field, array $data, FacetBuilder $facetBuilder)
{
return new EzTagFacet(
array(
'name' => $facetBuilder->name,
'entries' => $this->mapData($data),
)
);
}
/**
* {@inheritdoc}.
*/
public function canVisit(FacetBuilder $facetBuilder)
{
return $facetBuilder instanceof EzTagFacetBuilder;
}
/**
* {@inheritdoc}.
*/
public function visitBuilder(FacetBuilder $facetBuilder, $fieldId)
{
$content_class = $facetBuilder->content_class;
$field = $facetBuilder->field;
return array(
'facet.field' => "{!ex=dt key=${fieldId}}${content_class}_${field}_tag_ids_mi",
'f.content_type_id_id.facet.limit' => $facetBuilder->limit,
'f.content_type_id_id.facet.mincount' => $facetBuilder->minCount,
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment