Add relevance to sorting criteria
This commit is contained in:
parent
eaebfe699c
commit
d809cff370
|
@ -278,11 +278,18 @@ class tx_dlf_listview extends tx_dlf_plugin {
|
|||
|
||||
$uniqId = uniqid($prefix.'-');
|
||||
|
||||
$sorting .= '<label for="'.$uniqId.'">'.$this->pi_getLL('orderBy', '', TRUE).'</label><select id="'.$uniqId.'" name="'.$this->prefixId.'[order]" onchange="javascript:this.form.submit();"><option value=""></option>';
|
||||
$sorting .= '<label for="'.$uniqId.'">'.$this->pi_getLL('orderBy', '', TRUE).'</label><select id="'.$uniqId.'" name="'.$this->prefixId.'[order]" onchange="javascript:this.form.submit();">';
|
||||
|
||||
// Add relevance sorting if this is a search result list.
|
||||
if ($this->list->metadata['options']['source'] == 'search') {
|
||||
|
||||
$sorting .= '<option value="relevance"'.(($this->list->metadata['options']['order'] == 'relevance') ? ' selected="selected"' : '').'>'.$this->pi_getLL('relevance', '', TRUE).'</option>';
|
||||
|
||||
}
|
||||
|
||||
foreach ($this->sortables as $index_name => $label) {
|
||||
|
||||
$sorting .= '<option value="'.$index_name.'"'.(($this->piVars['order'] == $index_name) ? ' selected="selected"' : '').'>'.htmlspecialchars($label).'</option>';
|
||||
$sorting .= '<option value="'.$index_name.'"'.(($this->list->metadata['options']['order'] == $index_name) ? ' selected="selected"' : '').'>'.htmlspecialchars($label).'</option>';
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<label index="separator"> - </label>
|
||||
<label index="skip">...</label>
|
||||
<label index="orderBy">Order by: </label>
|
||||
<label index="relevance">relevance</label>
|
||||
<label index="noTitle">[no title]</label>
|
||||
</languageKey>
|
||||
<languageKey index="de" type="array">
|
||||
|
@ -35,6 +36,7 @@
|
|||
<label index="separator"> - </label>
|
||||
<label index="skip">...</label>
|
||||
<label index="orderBy">Sortieren nach: </label>
|
||||
<label index="relevance">Relevanz</label>
|
||||
<label index="noTitle">[kein Titel]</label>
|
||||
</languageKey>
|
||||
</data>
|
||||
|
|
|
@ -243,6 +243,9 @@ class tx_dlf_search extends tx_dlf_plugin {
|
|||
|
||||
}
|
||||
|
||||
// Keep track of relevance.
|
||||
$i = 0;
|
||||
|
||||
// Process results.
|
||||
foreach ($query->response->docs as $doc) {
|
||||
|
||||
|
@ -271,6 +274,10 @@ class tx_dlf_search extends tx_dlf_plugin {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
// Add relevance to sorting values.
|
||||
$docSorting['relevance'] = str_pad($i, 6, '0', STR_PAD_LEFT);
|
||||
|
||||
// Split toplevel documents from subparts.
|
||||
if ($doc->toplevel == 1) {
|
||||
|
||||
|
@ -299,6 +306,8 @@ class tx_dlf_search extends tx_dlf_plugin {
|
|||
|
||||
}
|
||||
|
||||
$i++;
|
||||
|
||||
}
|
||||
|
||||
// Check if the toplevel documents have metadata.
|
||||
|
|
Loading…
Reference in New Issue