Frage

habe ich ein Modul, dass die Lieferungen ein Block. Der Block wird auf BLOCK_NO_CACHE, und sein Inhalt wird aus einer Funktion gezogen. Es ermöglicht ein Site-Administrator eine ‚Nachricht‘ auf Anzeige auf der Website zu erstellen, die Art wie CNN, wo ein Bruchupdate oben angezeigt wird, und ein Benutzer kann es in die Nähe von X. schlagen Wenn sie es schließen, wird die Aktion geschrieben und UUID ihre Cookie geschrieben, so dass sie wieder nicht, dass die Nachricht sehen.

Ich bin Berichte von Boost-Benutzer bekommen, dass wenn jemand eine Nachricht schließt, schließt es für jeden etwas. Ich nehme an, das liegt daran, dass Boost-Seite wird das Caching und eine Cache-Seite dient, nachdem jemand die Nachricht geschlossen.

Wie kann ich meine Modul Arbeit für Menschen mit boost machen?

Ich dachte, vielleicht hook_boot funktionieren könnte, aber dann wieder bin ich nicht sicher, ob es ein besserer Weg, dies zu adressieren.

War es hilfreich?

Lösung

hook_boot will not do it. Once that page is in the cache no PHP is run. You need to have that block be loaded via AJAX because the state of that block is dependent upon a cookie. http://drupal.org/project/ajaxblocks and http://drupal.org/project/ajaxify_regions are 2 projects that easily do this.

Also it would be hard to get breaking updates out if the page is cached. You will have similar issues for varnish users as well.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top