public function GlossaryAZWidgetOrderProcessor::sortResults in Search API AZ Glossary 8
Same name and namespace in other branches
- 8.4 src/Plugin/facets/processor/GlossaryAZWidgetOrderProcessor.php \Drupal\search_api_glossary\Plugin\facets\processor\GlossaryAZWidgetOrderProcessor::sortResults()
- 8.2 src/Plugin/facets/processor/GlossaryAZWidgetOrderProcessor.php \Drupal\search_api_glossary\Plugin\facets\processor\GlossaryAZWidgetOrderProcessor::sortResults()
- 8.3 src/Plugin/facets/processor/GlossaryAZWidgetOrderProcessor.php \Drupal\search_api_glossary\Plugin\facets\processor\GlossaryAZWidgetOrderProcessor::sortResults()
Orders results and return the new order of results.
Parameters
\Drupal\facets\Result\Result $a: First result which should be compared.
\Drupal\facets\Result\Result $b: Second result which should be compared.
Return value
int -1, 0, or 1 depending which result
Overrides SortProcessorInterface::sortResults
File
- src/
Plugin/ facets/ processor/ GlossaryAZWidgetOrderProcessor.php, line 28
Class
- GlossaryAZWidgetOrderProcessor
- A processor that orders the results by display value.
Namespace
Drupal\search_api_glossary\Plugin\facets\processorCode
public function sortResults(Result $a, Result $b) {
$group_a = $this
->getResultGroup($a);
$group_b = $this
->getResultGroup($b);
if ($group_a == $group_b) {
// Apply natural sorting within single group.
return strnatcasecmp($a
->getRawValue(), $b
->getRawValue());
}
else {
// Get the custom sort order from config.
$sort_options_by_weight = $this
->sortConfigurationWeight($this
->getConfiguration()['sort']);
return $sort_options_by_weight[$group_a] < $sort_options_by_weight[$group_b] ? -1 : 1;
}
}