Same name and namespace in other branches
  1. 4.6.x modules/node.module \node_view()
  2. 4.7.x modules/node.module \node_view()
  3. 5.x modules/node/node.module \node_view()
  4. 7.x modules/node/node.module \node_view()
  5. 8.9.x core/modules/node/node.module \node_view()

Generate a display of the given node.

Parameters

$node: A node array or node object.

$teaser: Whether to display the teaser only or the full form.

$page: Whether the node is being displayed by itself as a page.

$links: Whether or not to display node links. Links are omitted for node previews.

Return value

An HTML representation of the themed node.

6 calls to node_view()
blog_page_last in modules/blog/blog.pages.inc
Menu callback; displays a Drupal page containing recent blog entries of all users.
blog_page_user in modules/blog/blog.pages.inc
Menu callback; displays a Drupal page containing recent blog entries of a given user.
node_page_default in modules/node/node.module
Menu callback; Generate a listing of promoted nodes.
node_show in modules/node/node.module
Generate a page displaying a single node, along with its comments.
taxonomy_render_nodes in modules/taxonomy/taxonomy.module
Accepts the result of a pager_query() call, such as that performed by taxonomy_select_nodes(), and formats each node along with a pager.

... See full list

File

modules/node/node.module, line 1016
The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.

Code

function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE) {
  $node = (object) $node;
  $node = node_build_content($node, $teaser, $page);
  if ($links) {
    $node->links = module_invoke_all('link', 'node', $node, $teaser);
    drupal_alter('link', $node->links, $node);
  }

  // Set the proper node part, then unset unused $node part so that a bad
  // theme can not open a security hole.
  $content = drupal_render($node->content);
  if ($teaser) {
    $node->teaser = $content;
    unset($node->body);
  }
  else {
    $node->body = $content;
    unset($node->teaser);
  }

  // Allow modules to modify the fully-built node.
  node_invoke_nodeapi($node, 'alter', $teaser, $page);
  return theme('node', $node, $teaser, $page);
}