public function AliasRepository::preloadPathAlias in Drupal 9
Pre-loads path alias information for a given list of system paths.
Parameters
array $preloaded: System paths that need preloading of aliases.
string $langcode: Language code to search the path with. If there's no path defined for that language it will search paths without language.
Return value
string[] System paths (keys) to alias (values) mapping.
Overrides AliasRepositoryInterface::preloadPathAlias
File
- core/
modules/ path_alias/ src/ AliasRepository.php, line 34
Class
- AliasRepository
- Provides the default path alias lookup operations.
Namespace
Drupal\path_aliasCode
public function preloadPathAlias($preloaded, $langcode) {
$select = $this
->getBaseQuery()
->fields('base_table', [
'path',
'alias',
]);
if (!empty($preloaded)) {
$conditions = $this->connection
->condition('OR');
foreach ($preloaded as $preloaded_item) {
$conditions
->condition('base_table.path', $this->connection
->escapeLike($preloaded_item), 'LIKE');
}
$select
->condition($conditions);
}
$this
->addLanguageFallback($select, $langcode);
// We order by ID ASC so that fetchAllKeyed() returns the most recently
// created alias for each source. Subsequent queries using fetchField() must
// use ID DESC to have the same effect.
$select
->orderBy('base_table.id', 'ASC');
return $select
->execute()
->fetchAllKeyed();
}