2017-06-29 8 views
0

ビューによって作成されたすべてのブロックのブロックキャッシングをオフにする方法を知りたかったのです。それが可能なら私のテーマからこれをやりたいと思います。私の予備的な研究は、hook_block_view_BASE_BLOCK_ID_alter()を使用することでこれを達成できる可能性があることを示唆しています。Drupal 8:特定のビューのブロックキャッシュをオフにする

キャッシングをオフにしたいビューは、マシン名がの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, 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; 
} 

ありがとう:私もコールバックを使用しようとした

/* 
* 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; 
} 

答えて

1

Views UI内でビューのブロックキャッシングをオフにできることがわかりました。これはAdvancedの下にあります。それをオフにして問題を解決しました

関連する問題