From f2aa485dfc47e1d0a278b6a66ffe3a71a315c977 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Fri, 24 May 2013 09:54:30 -0700 Subject: [PATCH] Issue #1898050 by duellj, Cottser, meeli, dsdart, Fabianx | c4rl: book.module - Convert PHPTemplate templates to Twig. --- core/modules/book/book.module | 43 +++++++------- ...tpl.php => book-all-books-block.html.twig} | 19 +++--- .../book/templates/book-export-html.html.twig | 51 ++++++++++++++++ .../book/templates/book-export-html.tpl.php | 52 ---------------- .../book/templates/book-navigation.html.twig | 59 +++++++++++++++++++ .../book/templates/book-navigation.tpl.php | 58 ------------------ .../templates/book-node-export-html.html.twig | 23 ++++++++ .../templates/book-node-export-html.tpl.php | 25 -------- 8 files changed, 166 insertions(+), 164 deletions(-) rename core/modules/book/templates/{book-all-books-block.tpl.php => book-all-books-block.html.twig} (52%) create mode 100644 core/modules/book/templates/book-export-html.html.twig delete mode 100644 core/modules/book/templates/book-export-html.tpl.php create mode 100644 core/modules/book/templates/book-navigation.html.twig delete mode 100644 core/modules/book/templates/book-navigation.tpl.php create mode 100644 core/modules/book/templates/book-node-export-html.html.twig delete mode 100644 core/modules/book/templates/book-node-export-html.tpl.php diff --git a/core/modules/book/book.module b/core/modules/book/book.module index 3ac47f427bd2..4ae3740a2dec 100644 --- a/core/modules/book/book.module +++ b/core/modules/book/book.module @@ -957,7 +957,9 @@ function book_preprocess_block(&$variables) { } /** - * Processes variables for book-all-books-block.tpl.php. + * 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 @@ -965,9 +967,8 @@ function book_preprocess_block(&$variables) { * * @param array $variables * An associative array containing the following key: - * - book_menus - * - * @see book-all-books-block.tpl.php + * - book_menus: An associative array containing renderable menu links for all + * book menus. */ function template_preprocess_book_all_books_block(&$variables) { // Remove all non-renderable elements. @@ -979,13 +980,14 @@ function template_preprocess_book_all_books_block(&$variables) { } /** - * Processes variables for book-navigation.tpl.php. + * Prepares variables for book navigation templates. + * + * Default template: book-navigation.html.twig. * * @param array $variables * An associative array containing the following key: - * - book_link - * - * @see book-navigation.tpl.php + * - book_link: An associative array of book link properties. + * Properties used: bid, link_title, depth, plid, mlid. */ function template_preprocess_book_navigation(&$variables) { drupal_add_css(drupal_get_path('module', 'book') . '/book.theme.css'); @@ -1101,15 +1103,15 @@ function book_toc($bid, $depth_limit, $exclude = array()) { } /** - * Preprocesses variables for book-export-html.tpl.php. + * Prepares variables for book export templates. * - * @param array $variables - * An associative array containing the following keys: - * - title - * - contents - * - depth + * Default template: book-export-html.html.twig. * - * @see book-export-html.tpl.php + * @param array $variables + * An associative array containing: + * - title: The title of the book. + * - contents: Output of each book page. + * - depth: The max depth of the book. */ function template_preprocess_book_export_html(&$variables) { global $base_url; @@ -1191,14 +1193,15 @@ function book_node_export(EntityInterface $node, $children = '') { } /** - * Processes variables for book-node-export-html.tpl.php. + * Prepares variables for single node export templates. + * + * Default template: book-node-export-html.html.twig. * * @param array $variables * An associative array containing the following keys: - * - node - * - children - * - * @see book-node-export-html.tpl.php + * - node: The node that will be output. + * - children: All the rendered child nodes within the current node. Defaults + * to an empty string. */ function template_preprocess_book_node_export_html(&$variables) { $variables['depth'] = $variables['node']->book['depth']; diff --git a/core/modules/book/templates/book-all-books-block.tpl.php b/core/modules/book/templates/book-all-books-block.html.twig similarity index 52% rename from core/modules/book/templates/book-all-books-block.tpl.php rename to core/modules/book/templates/book-all-books-block.html.twig index 8e5343b35b6e..518c1e19bbe4 100644 --- a/core/modules/book/templates/book-all-books-block.tpl.php +++ b/core/modules/book/templates/book-all-books-block.html.twig @@ -1,5 +1,4 @@ -<?php - +{# /** * @file * Default theme implementation for rendering book outlines within a block. @@ -8,16 +7,18 @@ * pages", which presents multiple independent books on all pages. * * Available variables: - * - $book_menus: Array of book outlines keyed to the parent book ID. Call - * render() on each to print it as an unordered list. + * - book_menus: Book outlines. + * - book_id: The parent book ID. + * - menu: The top-level book links. * + * @see template_preprocess() * @see template_preprocess_book_all_books_block() * * @ingroup themeable */ -?> -<?php foreach ($book_menus as $book_id => $menu): ?> - <nav id="book-block-menu-<?php print $book_id; ?>" class="book-block-menu"> - <?php print render($menu); ?> +#} +{% for book_id, menu in book_menus %} + <nav id="book-block-menu-{{ book_id }}" class="book-block-menu"> + {{ menu }} </nav> -<?php endforeach; ?> +{% endfor %} diff --git a/core/modules/book/templates/book-export-html.html.twig b/core/modules/book/templates/book-export-html.html.twig new file mode 100644 index 000000000000..95d5de380521 --- /dev/null +++ b/core/modules/book/templates/book-export-html.html.twig @@ -0,0 +1,51 @@ +{# +/** + * @file + * Default theme implementation for printed version of book outline. + * + * Available variables: + * - title: Top level node title. + * - head: Header tags. + * - language: Language object. + * - language_rtl: A flag indicating whether the current display language is a + * right to left language. + * - base_url: URL to the home page. + * - contents: Nodes within the current outline rendered through + * book-node-export-html.html.twig. + * + * @see template_preprocess() + * @see template_preprocess_book_export_html() + * + * @ingroup themeable + */ +#} +<!DOCTYPE html> +<html{{ html_attributes }}> + <head> + <title>{{ title }}></title> + {{ head }} + <base href="{{ base_url }}" /> + <link type="text/css" rel="stylesheet" href="misc/print.css" /> + {% if language_rtl %} + <link type="text/css" rel="stylesheet" href="misc/print-rtl.css" /> + {% endif %} + </head> + <body> + {# + 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 - e.g., 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. + #} + + {% for i in 1..depth-1 if depth > 1 %} + <div class="section-{{ i }}"> + {% endfor %} + {{ contents }} + {% for i in 1..depth-1 if depth > 1 %} + </div> + {% endfor %} + </body> +</html> diff --git a/core/modules/book/templates/book-export-html.tpl.php b/core/modules/book/templates/book-export-html.tpl.php deleted file mode 100644 index df04dab2003c..000000000000 --- a/core/modules/book/templates/book-export-html.tpl.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php - -/** - * @file - * Default theme implementation for printed version of book outline. - * - * Available variables: - * - $title: Top level node title. - * - $head: Header tags. - * - $language: Language object. - * - $language_rtl: TRUE or FALSE depending on right to left language scripts. - * - $base_url: URL to home page. - * - $contents: Nodes within the current outline rendered through - * book-node-export-html.tpl.php. - * - * @see template_preprocess_book_export_html() - * - * @ingroup themeable - */ -?> -<!DOCTYPE html > -<html<?php print $html_attributes; ?>> - <head> - <title><?php print $title; ?></title> - <?php print $head; ?> - <base href="<?php print $base_url; ?>" /> - <link type="text/css" rel="stylesheet" href="misc/print.css" /> - <?php if ($language_rtl): ?> - <link type="text/css" rel="stylesheet" href="misc/print-rtl.css" /> - <?php endif; ?> - </head> - <body> - <?php - /** - * 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 - e.g., - * 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. - */ - $div_close = ''; - ?> - <?php for ($i = 1; $i < $depth; $i++): ?> - <div class="section-<?php print $i; ?>"> - <?php $div_close .= '</div>'; ?> - <?php endfor; ?> - <?php print $contents; ?> - <?php print $div_close; ?> - </body> -</html> diff --git a/core/modules/book/templates/book-navigation.html.twig b/core/modules/book/templates/book-navigation.html.twig new file mode 100644 index 000000000000..82e02fd84223 --- /dev/null +++ b/core/modules/book/templates/book-navigation.html.twig @@ -0,0 +1,59 @@ +{# +/** + * @file + * Default theme implementation to navigate books. + * + * Presented under nodes that are a part of book outlines. + * + * Available variables: + * - tree: The immediate children of the current node rendered as an unordered + * list. + * - current_depth: Depth of the current node within the book outline. Provided + * for context. + * - prev_url: URL to the previous node. + * - prev_title: Title of the previous node. + * - parent_url: URL to the parent node. + * - parent_title: Title of the parent node. Not printed by default. Provided + * as an option. + * - next_url: URL to the next node. + * - next_title: Title of the next node. + * - has_links: Flags TRUE whenever the previous, parent or next data has a + * value. + * - book_id: The book ID of the current outline being viewed. Same as the node + * ID containing the entire outline. Provided for context. + * - book_url: The book/node URL of the current outline being viewed. Provided + * as an option. Not used by default. + * - book_title: The book/node title of the current outline being viewed. + * Provided as an option. Not used by default. + * + * @see template_preprocess() + * @see template_preprocess_book_navigation() + * + * @ingroup themeable + */ +#} +{% if tree or has_links %} + <nav id="book-navigation-{{ book_id }}" class="book-navigation"> + {{ tree }} + {% if has_links %} + <h2 class="element-invisible">{{ 'Book Navigation'|t }}</h2> + <ul class="book-pager"> + {% if prev_url %} + <li class="previous"> + <a href="{{ prev_url }}" rel="prev" title="{{ 'Go to previous page'|t }}"><b>{{ '‹'|t }}</b> {{ prev_title }}</a> + </li> + {% endif %} + {% if parent_url %} + <li class="up"> + <a href="{{ parent_url }}" title="{{ 'Go to parent page'|t }}">{{ 'Up'|t }}</a> + </li> + {% endif %} + {% if next_url %} + <li class="next"> + <a href="{{ next_url }}" rel="next" title="{{ 'Go to next page'|t }}">{{ next_title }} <b>{{ '›'|t }}</b></a> + </li> + {% endif %} + </ul> + {% endif %} + </nav> +{% endif %} diff --git a/core/modules/book/templates/book-navigation.tpl.php b/core/modules/book/templates/book-navigation.tpl.php deleted file mode 100644 index cdc1278a1901..000000000000 --- a/core/modules/book/templates/book-navigation.tpl.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php -/** - * @file - * Default theme implementation to navigate books. - * - * Presented under nodes that are a part of book outlines. - * - * Available variables: - * - $tree: The immediate children of the current node rendered as an unordered - * list. - * - $current_depth: Depth of the current node within the book outline. Provided - * for context. - * - $prev_url: URL to the previous node. - * - $prev_title: Title of the previous node. - * - $parent_url: URL to the parent node. - * - $parent_title: Title of the parent node. Not printed by default. Provided - * as an option. - * - $next_url: URL to the next node. - * - $next_title: Title of the next node. - * - $has_links: Flags TRUE whenever the previous, parent or next data has a - * value. - * - $book_id: The book ID of the current outline being viewed. Same as the node - * ID containing the entire outline. Provided for context. - * - $book_url: The book/node URL of the current outline being viewed. Provided - * as an option. Not used by default. - * - $book_title: The book/node title of the current outline being viewed. - * Provided as an option. Not used by default. - * - * @see template_preprocess_book_navigation() - * - * @ingroup themeable - */ -?> -<?php if ($tree || $has_links): ?> - <nav id="book-navigation-<?php print $book_id; ?>" class="book-navigation"> - <?php print $tree; ?> - <?php if ($has_links): ?> - <h2 class="element-invisible"><?php print t('Book Navigation'); ?></h2> - <ul class="book-pager"> - <?php if ($prev_url): ?> - <li class="previous"> - <a href="<?php print $prev_url; ?>" rel="prev" title="<?php print t('Go to previous page'); ?>"><b><?php print t('‹'); ?></b> <?php print $prev_title; ?></a> - </li> - <?php endif; ?> - <?php if ($parent_url): ?> - <li class="up"> - <a href="<?php print $parent_url; ?>" title="<?php print t('Go to parent page'); ?>"><?php print t('Up'); ?></a> - </li> - <?php endif; ?> - <?php if ($next_url): ?> - <li class="next"> - <a href="<?php print $next_url; ?>" rel="next" title="<?php print t('Go to next page'); ?>"><?php print $next_title;?> <b><?php print t('›'); ?></b></a> - </li> - <?php endif; ?> - </ul> - <?php endif; ?> - </nav> -<?php endif; ?> diff --git a/core/modules/book/templates/book-node-export-html.html.twig b/core/modules/book/templates/book-node-export-html.html.twig new file mode 100644 index 000000000000..7168de69d47f --- /dev/null +++ b/core/modules/book/templates/book-node-export-html.html.twig @@ -0,0 +1,23 @@ +{# +/** + * @file + * Default theme implementation for a single node in a printer-friendly outline. + * + * Available variables: + * - node: Fully loaded node. + * - depth: Depth of the current node inside the outline. + * - title: Node title. + * - content: Node content. + * - children: All the child nodes recursively rendered through this file. + * + * @see template_preprocess() + * @see template_preprocess_book_node_export_html() + * + * @ingroup themeable + */ +#} +<article id="node-{{ node.nid }}" class="section-{{ depth }}"> + <h1 class="book-heading">{{ title }}</h1> + {{ content }} + {{ children }} +</article> diff --git a/core/modules/book/templates/book-node-export-html.tpl.php b/core/modules/book/templates/book-node-export-html.tpl.php deleted file mode 100644 index 50c878f5b5b9..000000000000 --- a/core/modules/book/templates/book-node-export-html.tpl.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -/** - * @file - * Default theme implementation for a single node in a printer-friendly outline. - * - * @see book-node-export-html.tpl.php - * Where it is collected and printed out. - * - * Available variables: - * - $depth: Depth of the current node inside the outline. - * - $title: Node title. - * - $content: Node content. - * - $children: All the child nodes recursively rendered through this file. - * - * @see template_preprocess_book_node_export_html() - * - * @ingroup themeable - */ -?> -<article id="node-<?php print $node->nid; ?>" class="section-<?php print $depth; ?>"> - <h1 class="book-heading"><?php print $title; ?></h1> - <?php print $content; ?> - <?php print $children; ?> -</article> -- GitLab