You are here

function template_preprocess_book_all_books_block in Drupal 8

Same name and namespace in other branches
  1. 7 modules/book/book.module \template_preprocess_book_all_books_block()
  2. 9 core/modules/book/book.module \template_preprocess_book_all_books_block()

Prepares variables for book listing block templates.

Default template: book-all-books-block.html.twig.

All non-renderable elements are removed so that the template has full access to the structured data but can also simply iterate over all elements and render them (as in the default template).

Parameters

array $variables: An associative array containing the following key:

  • book_menus: An associative array containing renderable menu links for all book menus.

File

core/modules/book/book.module, line 366
Allows users to create and organize related content in an outline.

Code

function template_preprocess_book_all_books_block(&$variables) {

  // Remove all non-renderable elements.
  $elements = $variables['book_menus'];
  $variables['book_menus'] = [];
  foreach (Element::children($elements) as $index) {
    $variables['book_menus'][] = [
      'id' => $index,
      'menu' => $elements[$index],
      'title' => $elements[$index]['#book_title'],
    ];
  }
}