You are here

public function BookManager::bookTreeOutput in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/book/src/BookManager.php \Drupal\book\BookManager::bookTreeOutput()
  2. 9 core/modules/book/src/BookManager.php \Drupal\book\BookManager::bookTreeOutput()

File

core/modules/book/src/BookManager.php, line 577

Class

BookManager
Defines a book manager.

Namespace

Drupal\book

Code

public function bookTreeOutput(array $tree) {
  $items = $this
    ->buildItems($tree);
  $build = [];
  if ($items) {

    // Make sure Drupal\Core\Render\Element::children() 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;
}