Drupal 8奇怪的缓存问题

时间:2018-03-20 13:54:20

标签: caching twig browser-cache drupal-8

我在Drupal网站上有一些奇怪的缓存问题。

首先关闭D8页面缓存。

然后我在页面上有一些内容会针对每个页面加载进行更改 - 为了简化我从twig模板打印当前时间:

{{ "now"|date("H:i:s") }}

它的工作原理如下:

  • 清除Drupal缓存并打开页面后,我可以按预期看到当前时间
  • 当我重新加载页面时,我仍然看到上一次(我以主管理员身份登录)。无论我重新加载页面多少次,我都会在清除缓存后看到第一页加载的时间
  • 当我第一次从另一个浏览器打开同一页面时,我看到当前时间,之后重新加载,我看到该浏览器中第一页打开的时间
  • 当我从浏览器检查页面加载时,它表示该页面是从服务器加载的 - 不是由浏览器缓存
  • 清除Cookie无济于事。我第一次清除了我登出的cookie,我看到当前时间一次,但是对于其他每一个cookie清除,我都会看到同一时间。

知道这里发生了什么,以及如何禁用缓存?

2 个答案:

答案 0 :(得分:1)

将此添加到您的themename.theme文件

function themename_preprocess(&$vars, $hook) {
  $vars['#cache']['max-age'] = 0;
}

并清除缓存。

编辑,在drupal.org上,您可以阅读很好的指南,了解如何准备开发环境并在开发过程中禁用缓存。 Guide

答案 1 :(得分:0)

您需要juste来禁用内部页面缓存模块并清除缓存