在Drupal 8中的每个页面加载上从外部Web服务获取令牌

在Drupal 8中的每个页面加载上从外部Web服务获取令牌,drupal,twig,drupal-8,Drupal,Twig,Drupal 8,在Drupal(8)中的每个特定内容类型的页面视图上,我需要从外部Web服务获取一个新的(唯一的)令牌,以便能够通过在javascript嵌入代码中使用该令牌来嵌入特定的媒体文件。 此令牌需要从Web服务器(curl)调用,而不是在客户端调用 在Drupal中,通过在主题文件中添加一个theme_preprocess_node函数,这可以正常工作-但是由于Drupal/Twig中的缓存,只有在缓存清空时,此令牌才会在每个页面视图中刷新。完全禁用缓存并不可取——使用AJAX调用也不需要使用同步调用

在Drupal(8)中的每个特定内容类型的页面视图上,我需要从外部Web服务获取一个新的(唯一的)令牌,以便能够通过在javascript嵌入代码中使用该令牌来嵌入特定的媒体文件。 此令牌需要从Web服务器(curl)调用,而不是在客户端调用

在Drupal中,通过在主题文件中添加一个theme_preprocess_node函数,这可以正常工作-但是由于Drupal/Twig中的缓存,只有在缓存清空时,此令牌才会在每个页面视图中刷新。完全禁用缓存并不可取——使用AJAX调用也不需要使用同步调用


有人对如何在Twig模板中获取外部Web服务的价值有想法吗?

我通过添加

$variables['#cache']['max-age'] = 0;
要设置主题,请选择“预处理”节点。这将保留缓存中生成的变量