diff --git a/core/modules/node/node.services.yml b/core/modules/node/node.services.yml index 546f47f..8111819 100644 --- a/core/modules/node/node.services.yml +++ b/core/modules/node/node.services.yml @@ -34,3 +34,7 @@ services: arguments: ['@user.tempstore'] tags: - { name: paramconverter } + node.page_cache_request_policy.node_preview_path: + class: Drupal\node\PageCache\IsPreviewPath + tags: + - { name: page_cache_request_policy } diff --git a/core/modules/node/src/Controller/NodePreviewController.php b/core/modules/node/src/Controller/NodePreviewController.php index 9fb8d13..35c65d9 100644 --- a/core/modules/node/src/Controller/NodePreviewController.php +++ b/core/modules/node/src/Controller/NodePreviewController.php @@ -20,9 +20,6 @@ class NodePreviewController extends EntityViewController { * {@inheritdoc} */ public function view(EntityInterface $node_preview, $view_mode_id = 'full', $langcode = NULL) { - // Do not cache this page. - drupal_page_is_cacheable(FALSE); - $node_preview->preview_view_mode = $view_mode_id; $build = array('nodes' => parent::view($node_preview, $view_mode_id)); diff --git a/core/modules/node/src/PageCache/IsPreviewPath.php b/core/modules/node/src/PageCache/IsPreviewPath.php new file mode 100644 index 0000000..f5b84a4 --- /dev/null +++ b/core/modules/node/src/PageCache/IsPreviewPath.php @@ -0,0 +1,30 @@ +getPathInfo(), '/node/preview/') === 0) { + return RequestPolicyInterface::DENY; + } + } + +}