function template_preprocess_book_all_books_block in Drupal 10
Same name and namespace in other branches
- 8 core/modules/book/book.module \template_preprocess_book_all_books_block()
- 7 modules/book/book.module \template_preprocess_book_all_books_block()
- 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'],
];
}
}