1. 1.16.x modules/node/templates/node.tpl.php
  2. 1.16.x themes/bartik/templates/node.tpl.php
  3. 1.12.x modules/node/templates/node.tpl.php
  4. 1.12.x themes/bartik/templates/node.tpl.php
  5. 1.14.x modules/node/templates/node.tpl.php
  6. 1.14.x themes/bartik/templates/node.tpl.php
  7. 1.15.x modules/node/templates/node.tpl.php
  8. 1.15.x themes/bartik/templates/node.tpl.php
  9. 1.10.x modules/node/templates/node.tpl.php
  10. 1.10.x themes/bartik/templates/node.tpl.php
  11. 1.11.x modules/node/templates/node.tpl.php
  12. 1.11.x themes/bartik/templates/node.tpl.php
  13. 1.13.x modules/node/templates/node.tpl.php
  14. 1.13.x themes/bartik/templates/node.tpl.php
  15. 1.8.x modules/node/templates/node.tpl.php
  16. 1.8.x themes/bartik/templates/node.tpl.php
  17. 1.9.x modules/node/templates/node.tpl.php
  18. 1.9.x themes/bartik/templates/node.tpl.php

Default theme implementation to display a node.

Available variables:

  • $title: the (sanitized) title of the node.
  • $content: An array of node items. Use render($content) to print them all, or print a subset such as render($content['field_example']). Use hide($content['field_example']) to temporarily suppress the printing of a given element.
  • $user_picture: The node author's picture from user-picture.tpl.php.
  • $date: Formatted creation date. Preprocess functions can reformat it by calling format_date() with the desired parameters on the $created variable.
  • $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().
  • $classes: Array of classes that can be used to style contextually through CSS. The default values can be one or more of the following:

    • node: The current template type; for example, "theming hook".
    • node-[type]: The current node type. For example, if the node is a "Post" it would result in "node-post". 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 e.g. teaser or full.
    • preview: Nodes in preview mode.

    The following are controlled through the node publishing options.

    • promoted: Nodes that are promoted.
    • sticky: Nodes ordered above other non-sticky nodes in teaser listings.
    • unpublished: Unpublished nodes visible only to administrators.
  • $attributes: Array of additional HTML attributes that should be added to the wrapper element. Flatten with backdrop_attributes().
  • $title_prefix (array): An array containing additional output populated by modules, intended to be displayed in front of the main title tag that appears in the template.
  • $title_suffix (array): An array containing additional output populated by modules, intended to be displayed after the main title tag that appears in the template.

Other variables:

  • $node: Full node entity. Contains data that may not be safe.
  • $type: Node type; for example, post, page, blog, etc.
  • $uid: User ID of the node author.
  • $created: Time the node was published formatted in Unix timestamp.
  • $zebra: Outputs either "even" or "odd". Useful for zebra striping in teaser listings.
  • $id: Position of the node. Increments each time it's output.
  • $comment_count: Number of comments attached to the node.
  • $comments: The comment-related elements for the node. Contains two values that are both arrays that need to be rendered through a render() call:

    • $comments['comments']: Comments for this node.
    • $comments['comment_form']: Form for adding a new comment.
  • $comment_display_mode: Whether comments are threaded or not, one of the following PHP constants:

Node status variables:

  • $view_mode: Display mode, e.g. 'full', or 'teaser'.
  • $teaser: Flag for the teaser state (shortcut for $view_mode == 'teaser').
  • $page: Flag for the full page state.
  • $promote: Flag for front page promotion state.
  • $sticky: Flags for sticky post setting.
  • $status: Flag for published status.
  • $comment: State of comment settings for the node.
  • $readmore: Flags true if the teaser content of the node cannot hold the main body content.
  • $is_front: Flags true when presented in the front page.
  • $logged_in: Flags true when the current user is a logged-in member.
  • $is_admin: Flags true when the current user is an administrator.

Field variables: for 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 was previously applied.

See also





Related topics