0

ブロックを提供するモジュールがあります。ブロックは BLOCK_NO_CACHE に設定され、その内容は関数から取得されます。これにより、サイト管理者はサイトに表示する「メッセージ」を作成できます。CNN のようなもので、最新の更新が上部に表示され、ユーザーは X を押して閉じることができます。閉じると、アクションが書き込まれます。 UUID が Cookie に書き込まれるため、そのメッセージが再び表示されることはありません。

Boost ユーザーから、誰かがメッセージを閉じると、全員のメッセージが閉じられるという報告を受けています。これは、誰かがメッセージを閉じた後、Boost がページをキャッシュし、キャッシュされたページを提供しているためだと思います。

Boost を使用している人々のためにモジュールを機能させるにはどうすればよいですか?

hook_boot が機能する可能性があると思いましたが、これに対処するより良い方法があるかどうかはわかりません。

4

1 に答える 1

1

hook_boot はそれを行いません。そのページがキャッシュに入ると、PHP は実行されません。そのブロックの状態は Cookie に依存するため、そのブロックを AJAX 経由でロードする必要があります。 http://drupal.org/project/ajaxblockshttp://drupal.org/project/ajaxify_regions は、これを簡単に行う 2 つのプロジェクトです。

また、ページがキャッシュされている場合、最新の更新を取得するのは困難です。ニスのユーザーにも同様の問題があります。

于 2010-11-18T10:32:12.130 に答える