function language_hierarchy_query_path_alias_language_fallback_alter in Language Hierarchy 8
Same name and namespace in other branches
- 2.x language_hierarchy.module \language_hierarchy_query_path_alias_language_fallback_alter()
Implements hook_query_TAG_alter().
Order the fallback candidates to be used when querying path aliases.
See also
\Drupal\path_alias\AliasRepository::addLanguageFallback()
File
- ./
language_hierarchy.module, line 71 - Add sublanguage handling functionality to Drupal.
Code
function language_hierarchy_query_path_alias_language_fallback_alter(AlterableInterface $query) {
if (!$query instanceof SelectInterface) {
return;
}
$alias = $query
->leftJoin('language_hierarchy_priority', 'lhp', "base_table.langcode = %alias.langcode");
// Replace the existing language code ordering.
$fields =& $query
->getOrderBy();
unset($fields['base_table.langcode']);
$fields = [
$alias . '.priority' => 'DESC',
] + $fields;
// Limit the query as only the first result will be used anyway.
$query
->range(0, 1);
}