Пример #1
0
 /**
  * Add a facet result for a range facet
  *
  * @param Solarium_Query_Select_Component_Facet_Range $facet
  * @param array $data
  * @return void
  */
 protected function _facetRange($facet, $data)
 {
     $key = $facet->getKey();
     if (isset($data['facet_counts']['facet_ranges'][$key])) {
         $data = $data['facet_counts']['facet_ranges'][$key];
         $before = isset($data['before']) ? $data['before'] : null;
         $after = isset($data['after']) ? $data['after'] : null;
         $between = isset($data['between']) ? $data['between'] : null;
         return new Solarium_Result_Select_Facet_Range($data['counts'], $before, $after, $between);
     }
 }
Пример #2
0
 /**
  * Add a facet result for a range facet
  *
  * @param Solarium_Query_Select_Component_Facet_Range $facet
  * @param array $data
  * @return void
  */
 protected function _facetRange($facet, $data)
 {
     $key = $facet->getKey();
     if (isset($data['facet_counts']['facet_ranges'][$key])) {
         $data = $data['facet_counts']['facet_ranges'][$key];
         $before = isset($data['before']) ? $data['before'] : null;
         $after = isset($data['after']) ? $data['after'] : null;
         $between = isset($data['between']) ? $data['between'] : null;
         $offset = 0;
         $counts = array();
         while (isset($data['counts'][$offset]) && isset($data['counts'][$offset + 1])) {
             $counts[$data['counts'][$offset]] = $data['counts'][$offset + 1];
             $offset += 2;
         }
         return new Solarium_Result_Select_Facet_Range($counts, $before, $after, $between);
     }
 }
Пример #3
0
 public function testSetAndGetIncludeArray()
 {
     $this->_facet->setInclude(array('lower', 'upper'));
     $this->assertEquals('lower,upper', $this->_facet->getInclude());
 }
Пример #4
0
 /**
  * Add params for a range facet to request
  *
  * @param Solarium_Client_Request $request
  * @param Solarium_Query_Select_Component_Facet_Range $facet
  * @return void
  */
 public function addFacetRange($request, $facet)
 {
     $field = $facet->getField();
     $request->addParam('facet.range', $this->renderLocalParams($field, array('key' => $facet->getKey(), 'ex' => $facet->getExcludes())));
     $request->addParam("f.{$field}.facet.range.start", $facet->getStart());
     $request->addParam("f.{$field}.facet.range.end", $facet->getEnd());
     $request->addParam("f.{$field}.facet.range.gap", $facet->getGap());
     $request->addParam("f.{$field}.facet.range.hardend", $facet->getHardend());
     if (null !== $facet->getOther()) {
         $other = explode(',', $facet->getOther());
         foreach ($other as $otherValue) {
             $request->addParam("f.{$field}.facet.range.other", trim($otherValue));
         }
     }
     if (null !== $facet->getInclude()) {
         $include = explode(',', $facet->getInclude());
         foreach ($include as $includeValue) {
             $request->addParam("f.{$field}.facet.range.include", trim($includeValue));
         }
     }
 }