Generates a node preview.
\Drupal\Core\Entity\EntityInterface $node: The node to preview.
An HTML-formatted string of a node preview.
node_form_build_preview()
function node_preview(EntityInterface $node) {
if (node_access('create', $node) || node_access('update', $node)) {
_field_invoke_multiple('load', 'node', array(
$node->nid => $node,
));
// Load the user's name when needed.
if (isset($node->name)) {
// The use of isset() is mandatory in the context of user IDs, because
// user ID 0 denotes the anonymous user.
if ($user = user_load_by_name($node->name)) {
$node->uid = $user->uid;
}
else {
$node->uid = 0;
// anonymous user
}
}
elseif ($node->uid) {
$user = user_load($node->uid);
$node->name = $user->name;
}
$node->changed = REQUEST_TIME;
// Display a preview of the node.
if (!form_get_errors()) {
$node->in_preview = TRUE;
$node_preview = array(
'#theme' => 'node_preview',
'#node' => $node,
);
$output = drupal_render($node_preview);
unset($node->in_preview);
}
return $output;
}
}