【问题标题】:Drupal 8: Turn off a specific view's block cacheDrupal 8:关闭特定视图的块缓存
【发布时间】:2017-12-03 18:52:00
【问题描述】:

我想知道如何为视图创建的所有块关闭块缓存。如果可能的话,我想从我的主题中做到这一点。我的初步研究表明,使用 hook_block_view_BASE_BLOCK_ID_alter() 或许能够做到这一点。

我要为其关闭缓存的视图的机器名称为 background_image。我的主题名为 my_theme。我在 my_theme.theme 中尝试过,但没有成功:

/*
 * Implements hook_block_view_BASE_BLOCK_ID_alter().
 */
function my_theme_block_view_background_image_alter(array &$build, \Drupal\Core\Block\BlockPluginInterface $block) { 
  $build['#cache']['max-age'] = 0;
}

我也尝试过使用回调:

/*
 * Implements hook_block_view_BASE_BLOCK_ID_alter().
 */
function my_theme_block_view_background_image_alter(array &$build, BlockPluginInterface $block) {
  $build['#pre_render'][] = '_background_image_block_pre_render';
}

/**
 * Pre-render callback
 */
function _background_image_block_pre_render(array $build) {
  $build = array(
    '#cache' => array('max-age' => 0),
  );
  return $build;
}

提前致谢。

【问题讨论】:

    标签: caching drupal drupal-8


    【解决方案1】:

    在 Drupal 8 中为了禁用特定视图的缓存

    您的视图 > 高级 > 缓存 > 无

    【讨论】:

      【解决方案2】:

      我发现我可以在视图 UI 中关闭视图的块缓存。它在高级下。在那里关闭它解决了我的问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-02
        • 1970-01-01
        • 2020-01-21
        • 2016-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-28
        相关资源
        最近更新 更多