ログイン後。サイドバーブロックを1つ追加します。キャッシュをクリアすると、変数またはその値のみが更新されます。
namespace Drupal\test_demo\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides 'Sidebar' Block
*
* @Block(
* id = "sidebar_block",
* admin_label = @Translation("Sidebar Block"),
* category = @Translation("Sidebar Block"),
* )
*/
class SidebarBlock extends BlockBase {
public function build() {
return [
'#markup' => $this->t('Sidebar'),
'#cache' => [
'max-age' => 0,
]
];
}
}
mytheme.theme
function theme_preprocess_block(array &$variables) {
echo $variables['elements']['#id'];
}
キャッシュされるブロックを停止するにはどうすればよいですか。したがって、ページを更新したら、すぐに値をロードします。
https://stefvanlooveren.me/blog/disable-block-caching-drupal-8 からソリューションを入手しました
以下の関数をブロックに追加します
https://stefvanlooveren.me/blog/disable-block-caching-drupal-8
public function getCacheMaxAge() {
return 0;
}
ビューのブロックの詳細オプションでキャッシュをなしに切り替えるだけです