Fix bug in hierarchical search results
This commit is contained in:
parent
3ce11d257d
commit
f8fce9b353
|
@ -262,7 +262,7 @@ class tx_dlf_list implements ArrayAccess, Countable, Iterator, t3lib_Singleton {
|
|||
if ($this->solrConnect()) {
|
||||
|
||||
// Get document's thumbnail and metadata from Solr index.
|
||||
$result = $this->solr->service->search('uid:'.tx_dlf_solr::escapeQuery($record['uid']));
|
||||
$result = $this->solr->service->search('uid:'.tx_dlf_solr::escapeQuery($record['uid']), 0, $this->solr->limit);
|
||||
|
||||
// Process results.
|
||||
foreach ($result->response->docs as $resArray) {
|
||||
|
@ -281,7 +281,7 @@ class tx_dlf_list implements ArrayAccess, Countable, Iterator, t3lib_Singleton {
|
|||
}
|
||||
|
||||
// Add metadata to list elements.
|
||||
if ($resArray->toplevel == 1) {
|
||||
if ($resArray->toplevel) {
|
||||
|
||||
$record['thumbnail'] = $resArray->thumbnail;
|
||||
|
||||
|
@ -304,6 +304,17 @@ class tx_dlf_list implements ArrayAccess, Countable, Iterator, t3lib_Singleton {
|
|||
|
||||
}
|
||||
|
||||
// Unset subparts without any metadata.
|
||||
foreach ($record['subparts'] as $id => $subpart) {
|
||||
|
||||
if (!is_array($subpart)) {
|
||||
|
||||
unset ($record['subparts'][$id]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Save record for later usage.
|
||||
$this->records[$element['u']] = $record;
|
||||
|
||||
|
|
|
@ -442,6 +442,19 @@ class tx_dlf_solr {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* This returns $this->limit via __get()
|
||||
*
|
||||
* @access protected
|
||||
*
|
||||
* @return integer The max number of results
|
||||
*/
|
||||
protected function _getLimit() {
|
||||
|
||||
return $this->limit;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This returns $this->numberOfHits via __get()
|
||||
*
|
||||
|
|
|
@ -548,7 +548,7 @@ class tx_dlf_search extends tx_dlf_plugin {
|
|||
|
||||
$results->metadata = array (
|
||||
'label' => $label,
|
||||
'description' => '<p class="tx-dlf-search-numHits">'.htmlspecialchars(sprintf($this->pi_getLL('hits', ''), $solr->numberOfHits, $results->count)).'</p>',
|
||||
'description' => '<p class="tx-dlf-search-numHits">'.htmlspecialchars(sprintf($this->pi_getLL('hits', ''), $solr->numberOfHits, count($results))).'</p>',
|
||||
'options' => $results->metadata['options']
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue