Skip to content

Instantly share code, notes, and snippets.

@vstarck
Created November 16, 2012 13:59
Show Gist options
  • Save vstarck/4087563 to your computer and use it in GitHub Desktop.
Save vstarck/4087563 to your computer and use it in GitHub Desktop.
mage_complexity.php
/**
* Prepare facet fields conditions
*
* @param array $facetFields
* @return array
*/
protected function _prepareFacetConditions($facetFields)
{
$result = array();
if (is_array($facetFields)) {
$result['facet'] = 'on';
foreach ($facetFields as $facetField => $facetFieldConditions) {
if (empty($facetFieldConditions)) {
$result['facet.field'][] = $facetField;
} else {
foreach ($facetFieldConditions as $facetCondition) {
if (is_array($facetCondition) && isset($facetCondition['from'])
&& isset($facetCondition['to'])) {
$from = (isset($facetCondition['from']) && strlen(trim($facetCondition['from'])))
? $this->_prepareQueryText($facetCondition['from'])
: '*';
$to = (isset($facetCondition['to']) && strlen(trim($facetCondition['to'])))
? $this->_prepareQueryText($facetCondition['to'])
: '*';
$fieldCondition = "$facetField:[$from TO $to]";
} else {
$facetCondition = $this->_prepareQueryText($facetCondition);
$fieldCondition = $this->_prepareFieldCondition($facetField, $facetCondition);
}
$result['facet.query'][] = $fieldCondition;
}
}
}
}
return $result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment