theme_node

  1. drupal
    1. 4.7
    2. 5
    3. 6 theme.php
    4. 7 theme.php
Versions
4.7 – 5 theme_node($node, $teaser = FALSE, $page = FALSE)
6 theme_node()
7 theme_node($variables)

Return a themed node.

Parameters

$node An object providing all relevant information for displaying a node:

  • $node->nid: The ID of the node.
  • $node->type: The content type (story, blog, forum...).
  • $node->title: The title of the node.
  • $node->created: The creation date, as a UNIX timestamp.
  • $node->teaser: A shortened version of the node body.
  • $node->body: The entire node contents.
  • $node->changed: The last modification date, as a UNIX timestamp.
  • $node->uid: The ID of the author.
  • $node->username: The username of the author.

$teaser Whether to display the teaser only, as on the main page.

$page Whether to display the node as a standalone page. If TRUE, do not display the title because it will be provided by the menu system.

Return value

A string containing the node output.

Related topics

Code

includes/theme.inc, line 671

<?php
function theme_node($node, $teaser = FALSE, $page = FALSE) {
  if (!$node->status) {
    $output  = '<div class="node-unpublished">';
  }

  if (module_exists('taxonomy')) {
    $terms = taxonomy_link('taxonomy terms', $node);
  }

  if ($page == 0) {
    $output .= t('!title by !name', array('!title' => '<h2 class="title">' . check_plain($node->title) . '</h2>', '!name' => theme('username', $node)));
  }
  else {
    $output .= t('by !name', array('!name' => theme('username', $node)));
  }

  if (count($terms)) {
    $output .= ' <small>(' . theme('links', $terms) . ')</small><br />';
  }

  if ($teaser && $node->teaser) {
    $output .= $node->teaser;
  }
  else {
    $output .= $node->body;
  }

  if ($node->links) {
    $output .= '<div class="links">' . theme('links', $node->links) . '</div>';
  }

  if (!$node->status) {
    $output .= '</div>';
  }

  return $output;
}
?>