public function BookExport::bookExportHtml in Drupal 9
Same name and namespace in other branches
- 8 core/modules/book/src/BookExport.php \Drupal\book\BookExport::bookExportHtml()
Generates HTML for export when invoked by book_export().
The given node is embedded to its absolute depth in a top level section. For example, a child node with depth 2 in the hierarchy is contained in (otherwise empty) <div> elements corresponding to depth 0 and depth 1. This is intended to support WYSIWYG output; for instance, level 3 sections always look like level 3 sections, no matter their depth relative to the node selected to be exported as printer-friendly HTML.
Parameters
\Drupal\node\NodeInterface $node: The node to export.
Return value
array A render array representing the HTML for a node and its children in the book hierarchy.
Throws
\Exception Thrown when the node was not attached to a book.
File
- core/modules/ book/ src/ BookExport.php, line 85 
Class
- BookExport
- Provides methods for exporting book to different formats.
Namespace
Drupal\bookCode
public function bookExportHtml(NodeInterface $node) {
  if (!isset($node->book)) {
    throw new \Exception();
  }
  $tree = $this->bookManager
    ->bookSubtreeData($node->book);
  $contents = $this
    ->exportTraverse($tree, [
    $this,
    'bookNodeExport',
  ]);
  $node = $this->entityRepository
    ->getTranslationFromContext($node);
  return [
    '#theme' => 'book_export_html',
    '#title' => $node
      ->label(),
    '#contents' => $contents,
    '#depth' => $node->book['depth'],
    '#cache' => [
      'tags' => $node
        ->getEntityType()
        ->getListCacheTags(),
    ],
  ];
}