Fix bug in hierarchical search results

This commit is contained in:
Sebastian Meyer 2013-09-13 15:04:30 +02:00
parent 3ce11d257d
commit f8fce9b353
3 changed files with 27 additions and 3 deletions

View File

@ -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;

View File

@ -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()
*

View File

@ -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']
);