You are here

public function DsExtrasController::revisionShow in Display Suite 8.4

Same name and namespace in other branches
  1. 8.2 modules/ds_extras/src/Controller/DsExtrasController.php \Drupal\ds_extras\Controller\DsExtrasController::revisionShow()
  2. 8.3 modules/ds_extras/src/Controller/DsExtrasController.php \Drupal\ds_extras\Controller\DsExtrasController::revisionShow()

Displays a node revision.

Parameters

int $node_revision: The node revision ID.

Return value

array An array suitable for drupal_render().

Throws

\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException

\Drupal\Component\Plugin\Exception\PluginNotFoundException

File

modules/ds_extras/src/Controller/DsExtrasController.php, line 64

Class

DsExtrasController
Returns responses for Display Suite Extra routes.

Namespace

Drupal\ds_extras\Controller

Code

public function revisionShow($node_revision) {

  /* @var \Drupal\node\NodeInterface $node */
  $node = $this
    ->entityTypeManager()
    ->getStorage('node')
    ->loadRevision($node_revision);

  // Determine view mode.
  $view_mode = \Drupal::config('ds_extras.settings')
    ->get('override_node_revision_view_mode');
  drupal_static('ds_view_mode', $view_mode);
  $page = $this
    ->entityTypeManager()
    ->getViewBuilder('node')
    ->view($node, $view_mode);
  unset($page['nodes'][$node
    ->id()]['#cache']);
  return $page;
}