theme_node

Definition

theme_node($node, $teaser = FALSE, $page = FALSE)
includes/theme.inc, line 665

Description

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

Namesort iconDescription
Themeable functionsFunctions that display HTML, and which can be customized by themes.

Code

<?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;
}
?>
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.