You are here

public function DsExtrasController::revisionShow in Display Suite 8.3

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

Displays a node revision.

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 59

Class

DsExtrasController
Returns responses for Display Suite Extra routes.

Namespace

Drupal\ds_extras\Controller

Code

public function revisionShow($node_revision = NULL) {
  if ($node_revision instanceof NodeInterface) {
    $node = $node_revision;
  }
  else {
    $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;
}