Same name and namespace in other branches
- 8.x-1.x src/TitleResolver.php \Drupal\easy_breadcrumb\TitleResolver::getTitle()
Fichier
-
src/
TitleResolver.php, line 72
Classe
- TitleResolver
- Class TitleResolver.
Namespace
Drupal\easy_breadcrumbCode
public function getTitle(Request $request, Route $route) {
$url = Url::fromUri("internal:" . $request->getRequestUri());
$route_parts = explode(".", $url->getRouteName());
$entity = NULL;
$params = $url->getRouteParameters();
if ($route_parts[0] === 'entity' && $route_parts[2] === 'canonical') {
$entity_type = $route_parts[1];
$entity = $this->entityTypeManager
->getStorage($entity_type)
->load($params[$entity_type]);
}
if ($entity !== NULL) {
$current_langcode = $this->languageManager
->getCurrentLanguage()
->getId();
if ($entity instanceof TranslatableInterface && $entity->hasTranslation($current_langcode)) {
$entity = $entity->getTranslation($current_langcode);
}
$alternative_title_field = $this->config
->get(EasyBreadcrumbConstants::ALTERNATIVE_TITLE_FIELD);
if ($entity instanceof FieldableEntityInterface && $entity->hasField($alternative_title_field) && !$entity->get($alternative_title_field)
->isEmpty()) {
return Xss::filter($entity->get($alternative_title_field)->value);
}
}
return parent::getTitle($request, $route);
}