public function BookManager::bookLinkTranslate in Drupal 10
Same name and namespace in other branches
- 8 core/modules/book/src/BookManager.php \Drupal\book\BookManager::bookLinkTranslate()
- 9 core/modules/book/src/BookManager.php \Drupal\book\BookManager::bookLinkTranslate()
File
- core/
modules/ book/ src/ BookManager.php, line 1047
Class
- BookManager
- Defines a book manager.
Namespace
Drupal\bookCode
public function bookLinkTranslate(&$link) {
// Check access via the api, since the query node_access tag doesn't check
// for unpublished nodes.
// @todo load the nodes en-mass rather than individually.
// @see https://www.drupal.org/project/drupal/issues/2470896
$node = $this->entityTypeManager
->getStorage('node')
->load($link['nid']);
$link['access'] = $node && $node
->access('view');
// For performance, don't localize a link the user can't access.
if ($link['access']) {
// The node label will be the value for the current language.
$node = $this->entityRepository
->getTranslationFromContext($node);
$link['title'] = $node
->label();
$link['options'] = [];
}
return $link;
}