You are here

function theme_node_preview in Drupal 7

Same name and namespace in other branches
  1. 4 modules/node.module \theme_node_preview()
  2. 5 modules/node/node.module \theme_node_preview()
  3. 6 modules/node/node.pages.inc \theme_node_preview()

Returns HTML for a node preview for display during node creation and editing.

Parameters

$variables: An associative array containing:

  • node: The node object which is being previewed.

See also

node_preview()

Related topics

1 theme call to theme_node_preview()
node_preview in modules/node/node.pages.inc
Generates a node preview.

File

modules/node/node.pages.inc, line 422
Page callbacks for adding, editing, deleting, and revisions management for content.

Code

function theme_node_preview($variables) {
  $node = $variables['node'];
  $output = '<div class="preview">';
  $preview_trimmed_version = FALSE;
  $elements = node_view(clone $node, 'teaser');
  $trimmed = drupal_render($elements);
  $elements = node_view($node, 'full');
  $full = drupal_render($elements);

  // Do we need to preview trimmed version of post as well as full version?
  if ($trimmed != $full) {
    drupal_set_message(t('The trimmed version of your post shows what your post looks like when promoted to the main page or when exported for syndication.<span class="no-js"> You can insert the delimiter "&lt;!--break--&gt;" (without the quotes) to fine-tune where your post gets split.</span>'));
    $output .= '<h3>' . t('Preview trimmed version') . '</h3>';
    $output .= $trimmed;
    $output .= '<h3>' . t('Preview full version') . '</h3>';
    $output .= $full;
  }
  else {
    $output .= $full;
  }
  $output .= "</div>\n";
  return $output;
}