ページにカスタムブロックを設定する必要があります(サイト全体になる)。2つの状態があります。1つはCookieが存在し、特定の値がある場合と、もう1つは、Cookieが存在しないか、値が古い場合です。ログイン状態のように考えますが、Drupalによる認証はありません。
これをブロックbuild()メソッドで行う適切な方法は何ですか?レンダー配列を構築するロジックが組み込まれたレイジーローダーを実装しますか?これらのユーザーに固有になるように、このCookieとその値に基づいてキャッシュコンテキストも追加しますか?
リクエストからcookieを取得できます EventSubscriberで検証用のcookieが見つかりません を参照してください。コンテキストを設定し、コード例のように強制終了スイッチをトリガーすると、機能するはずです。しかし、これはパフォーマンスには良くありません。したがって、空のブロックコンテナーを配信し、jsライブラリをブロックにアタッチし、クライアント側でCookie値を取得してから、ブロックのコンテンツを取得するためのajaxリクエストを開始します。
ブロックのクライアント側を遅延ロードする方法の例として、モジュールのコード Ajax Block を参照してください: https://git.drupalcode.org/project/block_ajax