Boost Cachedページにブロックを使用してデータを読み取り/書き込み
-
10-10-2019 - |
質問
ブロックを提供するモジュールがあります。ブロックはblock_no_cacheに設定されており、そのコンテンツは関数から引き出されます。サイト管理者は、CNNのようなサイトに表示する「メッセージ」を作成できます。CNNのようなもので、最上部に更新が表示され、ユーザーはXを閉じることで閉じることができます。そして、uuidは彼らのクッキーに書いたので、彼らはそのメッセージを二度と見ません。
Boostユーザーから、誰かがメッセージを閉じたとき、それがすべての人のためにそれを閉じるという報告を受けています。これは、Boostがページをキャッシュし、誰かがメッセージを閉じた後にキャッシュページを提供しているからだと思います。
ブーストを使用している人のためにモジュールを動作させるにはどうすればよいですか?
hook_bootが機能するかもしれないと思いましたが、これに対処するより良い方法があるかどうかはわかりません。
解決
hook_bootはそれをしません。そのページがキャッシュに含まれると、PHPは実行されません。そのブロックの状態はCookieに依存しているため、Ajaxを介してそのブロックをロードする必要があります。http://drupal.org/project/ajaxblocks と http://drupal.org/project/ajaxify_regionsこれを簡単に行う2つのプロジェクトです。
また、ページがキャッシュされている場合、更新を壊すのは難しいでしょう。ワニスユーザーにも同様の問題があります。
所属していません StackOverflow