node.html.twig 4.53 KB
Newer Older
1 2 3 4 5 6 7
{#
/**
 * @file
 * Bartik's theme implementation to display a node.
 *
 * Available variables:
 * - node: Full node entity.
8 9 10 11 12 13 14
 *   - id: The node ID
 *   - bundle: The type of the node, for example, "page" or "article".
 *   - authorid: The user ID of the node author.
 *   - createdtime: Formatted creation date. Preprocess functions can reformat
       it by calling format_date() with the desired parameters on
 *     $variables['node']->getCreatedTime().
 *   - promoted: Whether the node is promoted to the front page.
15 16
 *   - sticky: Whether the node is 'sticky'. Sticky nodes are ordered above
 *     other non-sticky nodes in teaser listings
17
 *   - published: Whether the node is published.
18 19 20
 * - label: The title of the node.
 * - content: All node items. Use {{ content }} to print them all,
 *   or print a subset such as {{ content.field_example }}. Use
21 22
 *   {{ content|without('field_example') }} to exclude the printing of a
 *   given child element.
23 24
 * - user_picture: The node author's information as loaded from the 'compact'
 *   view mode for the user entity.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
 * - date: Formatted creation date. Preprocess functions can reformat it by
 *   calling format_date() with the desired parameters on
 *   $variables['created'].
 * - name: Themed username of node author output from theme_username().
 * - node_url: Direct URL of the current node.
 * - display_submitted: Whether submission information should be displayed.
 * - submitted: Submission information created from name and date during
 *   template_preprocess_node().
 * - attributes: HTML attributes for the containing element.
 *   The attributes.class element may contain one or more of the following
 *   classes:
 *   - node: The current template type (also known as a "theming hook").
 *   - node-[type]: The current node type. For example, if the node is a
 *     "Article" it would result in "node-article". Note that the machine
 *     name will often be in a short form of the human readable label.
 *   - view-mode-[view_mode]: The View Mode of the node; for example, a teaser
 *     would result in: "view-mode-teaser", and full: "view-mode-full".
 *   - preview: Whether a node is in preview mode.
 *   The following are controlled through the node publishing options.
 *   - promoted: Appears on nodes promoted to the front page.
 *   - sticky: Appears on nodes ordered above other non-sticky nodes in teaser
 *     listings.
 *   - unpublished: Appears on unpublished nodes visible only to site admins.
 * - title_prefix: Additional output populated by modules, intended to be
 *   displayed in front of the main title tag that appears in the template.
 * - title_suffix: Additional output populated by modules, intended to be
 *   displayed after the main title tag that appears in the template.
 * - view_mode: View mode; for example, "teaser" or "full".
 * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
 * - page: Flag for the full page state. Will be true if view_mode is 'full'.
 * - readmore: Flag for more state. Will be true if the teaser content of the
 *   node cannot hold the main body content.
 * - is_front: Flag for front. Will be true when presented on the front page.
 * - logged_in: Flag for authenticated user status. Will be true when the
 *   current user is a logged-in member.
 * - is_admin: Flag for admin user status. Will be true when the current user
 *   is an administrator.
 *
 * In field variables, each field instance attached to the node a corresponding
 * variable is defined; for example, 'node.body' becomes 'body'. When needing to
 * access a field's raw values, developers/themers are strongly encouraged to
 * use these variables. Otherwise they will have to explicitly specify the
 * desired field language; for example, 'node.body.en', thus overriding any
 * language negotiation rule that may have been applied previously.
 *
 * @see template_preprocess_node()
 */
#}
73
<article id="node-{{ node.id }}" class="{{ attributes.class }} clearfix" role="article"{{ attributes|without('id', 'class', 'role') }}>
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

  <header>
    {{ title_prefix }}
    {% if not page %}
      <h2{{ title_attributes }}>
        <a href="{{ node_url }}">{{ label }}</a>
      </h2>
    {% endif %}
    {{ title_suffix }}

    {% if display_submitted %}
      <div class="meta submitted">
        {{ user_picture }}
        {{ submitted }}
      </div>
    {% endif %}
  </header>

  <div class="content clearfix"{{ content_attributes }}>
93
    {{ content|without('links') }}
94 95 96 97 98 99 100 101 102
  </div>

  {% if content.links %}
    <footer class="link-wrapper">
      {{ content.links }}
    </footer>
  {% endif %}

</article>