public function BookManager::bookTreeOutput in Drupal 8
Same name and namespace in other branches
- 9 core/modules/book/src/BookManager.php \Drupal\book\BookManager::bookTreeOutput()
- 10 core/modules/book/src/BookManager.php \Drupal\book\BookManager::bookTreeOutput()
Returns a rendered menu tree.
The menu item's LI element is given one of the following classes:
- expanded: The menu item is showing its submenu.
- collapsed: The menu item has a submenu which is not shown.
Parameters
array $tree: A data structure representing the tree as returned from buildBookOutlineData.
Return value
array A structured array to be rendered by \Drupal\Core\Render\RendererInterface::render().
Overrides BookManagerInterface::bookTreeOutput
See also
\Drupal\Core\Menu\MenuLinkTree::build
File
- core/
modules/ book/ src/ BookManager.php, line 533
Class
- BookManager
- Defines a book manager.
Namespace
Drupal\bookCode
public function bookTreeOutput(array $tree) {
$items = $this
->buildItems($tree);
$build = [];
if ($items) {
// Make sure drupal_render() does not re-order the links.
$build['#sorted'] = TRUE;
// Get the book id from the last link.
$item = end($items);
// Add the theme wrapper for outer markup.
// Allow menu-specific theme overrides.
$build['#theme'] = 'book_tree__book_toc_' . $item['original_link']['bid'];
$build['#items'] = $items;
// Set cache tag.
$build['#cache']['tags'][] = 'config:system.book.' . $item['original_link']['bid'];
}
return $build;
}