/**
  * @return array
  */
 protected function getValues()
 {
     if ($this->values === null) {
         $this->values = array();
         if ($this->contentClassAttribute->attribute('data_type_string') == 'ezobjectrelationlist') {
             //$field = ezfSolrDocumentFieldBase::generateSubattributeFieldName( $this->contentClassAttribute, 'name', 'string' );
             //@todo errore nella definzione del nome del sottoattributo? verifaicare vedi anche in self::buildFetch
             //$field = ezfSolrDocumentFieldBase::$DocumentFieldName->lookupSchemaName(
             //    ezfSolrDocumentFieldBase::SUBMETA_FIELD_PREFIX . $this->contentClassAttribute->attribute( 'identifier' ) . ezfSolrDocumentFieldBase::SUBATTR_FIELD_SEPARATOR . 'name',
             //    'string');
             $field = ezfSolrDocumentFieldBase::$DocumentFieldName->lookupSchemaName(ezfSolrDocumentFieldBase::SUBATTR_FIELD_PREFIX . $this->contentClassAttribute->attribute('identifier') . ezfSolrDocumentFieldBase::SUBATTR_FIELD_SEPARATOR . 'name' . ezfSolrDocumentFieldBase::SUBATTR_FIELD_SEPARATOR, 'string');
         } else {
             $field = ezfSolrDocumentFieldBase::generateAttributeFieldName($this->contentClassAttribute, 'string');
         }
         $facets = array('field' => $field, 'name' => $this->attributes['name'], 'limit' => 300, 'sort' => 'alpha');
         $fetchParameters = array('SearchContentClassID' => array($this->contentClassAttribute->attribute('contentclass_id')), 'Facet' => array($facets));
         $data = $this->client->fetchRemoteNavigationList($fetchParameters);
         if (isset($data[$this->attributes['name']])) {
             $this->values = $data[$this->attributes['name']];
             // setto i valori attivi e inietto il conto nel nome
             foreach ($this->values as $index => $value) {
                 $current = (array) $this->attributes['value'];
                 if (in_array($value['query'], $current)) {
                     $this->values[$index]['active'] = true;
                 }
                 $this->values[$index]['query'] = OCFacetNavgationHelper::encodeValue($this->values[$index]['query']);
                 if (isset($value['count']) && $value['count'] > 0) {
                     $this->values[$index]['name'] = $value['name'] . ' (' . $value['count'] . ')';
                 }
             }
         }
     }
     return $this->values;
 }
 protected function getValues()
 {
     if ($this->values === null) {
         $this->values = array();
         $field = ezfSolrDocumentFieldBase::generateAttributeFieldName($this->contentClassAttribute, ezfSolrDocumentFieldBase::getClassAttributeType($this->contentClassAttribute, null, 'search'));
         $facets = array('field' => $field, 'name' => $this->attributes['name'], 'limit' => 500, 'sort' => 'alpha');
         $currentParameters = $baseParameters = array_merge(OCClassSearchFormHelper::result()->getBaseParameters(), array('SearchContentClassID' => array($this->contentClassAttribute->attribute('contentclass_id')), 'Facet' => array($facets), 'SearchLimit' => 1));
         if (OCClassSearchFormHelper::result()->isFetch()) {
             $currentParameters = array_merge($currentParameters, OCClassSearchFormHelper::result()->getCurrentParameters());
         }
         $data = OCFacetNavgationHelper::navigationList($baseParameters, $currentParameters, OCClassSearchFormHelper::result()->searchText, OCClassSearchFormHelper::result()->isFetch());
         if (isset($data[$this->attributes['name']])) {
             $this->values = $data[$this->attributes['name']];
             // setto i valori attivi e inietto il conto nel nome
             foreach ($this->values as $index => $value) {
                 $current = (array) $this->attributes['value'];
                 if (in_array($value['query'], $current)) {
                     $this->values[$index]['active'] = true;
                 }
                 $this->values[$index]['query'] = OCFacetNavgationHelper::encodeValue($this->values[$index]['query']);
                 $this->values[$index]['raw_name'] = $value['name'];
                 if (isset($value['count']) && $value['count'] > 0) {
                     $this->values[$index]['name'] = $value['name'] . ' (' . $value['count'] . ')';
                     $this->values[$index]['count'] = $value['count'];
                 }
             }
         }
     }
     return $this->values;
 }
 protected function getValues()
 {
     if ($this->values === null) {
         $this->values = array();
         //@todo filter per parent_node
         //$classContent = $this->contentClassAttribute->content();
         //$filters = isset( $classContent['default_placement']['node_id'] ) ?  array( $classContent['default_placement']['node_id'] ) : array( 1 );
         //@todo errore nella definzione del nome del sottoattributo? verifaicare vedi anche in self::buildFetch
         //$field = ezfSolrDocumentFieldBase::$DocumentFieldName->lookupSchemaName(
         //    ezfSolrDocumentFieldBase::SUBMETA_FIELD_PREFIX . $this->contentClassAttribute->attribute( 'identifier' ) . ezfSolrDocumentFieldBase::SUBATTR_FIELD_SEPARATOR . 'name',
         //    'string');
         $field = ezfSolrDocumentFieldBase::$DocumentFieldName->lookupSchemaName(ezfSolrDocumentFieldBase::SUBATTR_FIELD_PREFIX . $this->contentClassAttribute->attribute('identifier') . ezfSolrDocumentFieldBase::SUBATTR_FIELD_SEPARATOR . 'name' . ezfSolrDocumentFieldBase::SUBATTR_FIELD_SEPARATOR, 'string');
         $facets = array('field' => $field, 'name' => $this->attributes['name'], 'limit' => 300, 'sort' => 'alpha');
         $currentParameters = $baseParameters = array_merge(OCClassSearchFormHelper::result()->getBaseParameters(), array('SearchContentClassID' => array($this->contentClassAttribute->attribute('contentclass_id')), 'Facet' => array($facets), 'SearchLimit' => 1));
         if (OCClassSearchFormHelper::result()->isFetch()) {
             $currentParameters = array_merge($currentParameters, OCClassSearchFormHelper::result()->getCurrentParameters());
         }
         $data = OCFacetNavgationHelper::navigationList($baseParameters, $currentParameters, OCClassSearchFormHelper::result()->searchText, OCClassSearchFormHelper::result()->isFetch());
         if (isset($data[$this->attributes['name']])) {
             $this->values = $data[$this->attributes['name']];
             // setto i valori attivi e inietto il conto nel nome
             foreach ($this->values as $index => $value) {
                 $current = (array) $this->attributes['value'];
                 if (in_array($value['query'], $current)) {
                     $this->values[$index]['active'] = true;
                 }
                 $this->values[$index]['query'] = OCFacetNavgationHelper::encodeValue($this->values[$index]['query']);
                 $this->values[$index]['raw_name'] = $value['name'];
                 if (isset($value['count']) && $value['count'] > 0) {
                     $this->values[$index]['name'] = $value['name'] . ' (' . $value['count'] . ')';
                     $this->values[$index]['count'] = $value['count'];
                 }
             }
         }
     }
     return $this->values;
 }