function NavigationRenderer::buildTopBar
Same name in other branches
- 10 core/modules/navigation/src/NavigationRenderer.php \Drupal\navigation\NavigationRenderer::buildTopBar()
Build the top bar for content entity pages.
Parameters
array $page_top: A renderable array representing the top of the page.
See also
File
-
core/
modules/ navigation/ src/ NavigationRenderer.php, line 167
Class
- NavigationRenderer
- Handle rendering for different pieces of the navigation.
Namespace
Drupal\navigationCode
public function buildTopBar(array &$page_top) : void {
if (!$this->moduleHandler
->moduleExists('navigation_top_bar')) {
return;
}
$page_top['top_bar'] = [
'#theme' => 'top_bar',
'#attached' => [
'library' => [
'navigation/internal.navigation',
],
],
'#cache' => [
'contexts' => [
'url.path',
'user.permissions',
],
],
];
// Local tasks for content entities.
if ($this->hasLocalTasks()) {
$local_tasks = $this->getLocalTasks();
$page_top['top_bar']['#local_tasks'] = [
'#theme' => 'top_bar_local_tasks',
'#local_tasks' => $local_tasks['tasks'],
];
assert($local_tasks['cacheability'] instanceof CacheableMetadata);
CacheableMetadata::createFromRenderArray($page_top['top_bar'])->addCacheableDependency($local_tasks['cacheability'])
->applyTo($page_top['top_bar']);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.