Domanda

Ho un modulo che fornisce un blocco. Il blocco è impostato BLOCK_NO_CACHE, e il suo contenuto è tirato da una funzione. Esso consente a un amministratore del sito di creare un 'messaggio' per la visualizzazione sul sito, un po 'come la CNN, in cui viene visualizzato un aggiornamento di rottura in alto, e un utente può chiuderlo premendo X. Quando si chiudono, l'azione è scritto e UUID scritto per il loro cookie in modo da non vedere di nuovo quel messaggio.

Sto ricevendo rapporti degli utenti Boost che quando qualcuno chiude un messaggio, si chiude per tutti. Presumo che ciò è dovuto al fatto Boost è caching della pagina e che serve una pagina in cache dopo che qualcuno ha chiuso il messaggio.

Come posso fare il mio lavoro modulo per le persone che utilizzano Boost?

ho pensato che lavoro potrebbe forse hook_boot, ma, poi di nuovo io non sono sicuro se c'è un modo migliore per affrontare questo.

È stato utile?

Soluzione

hook_boot non lo farà. Una volta che la pagina è in cache non PHP viene eseguito. È necessario disporre di quel blocco essere caricato tramite la tecnologia AJAX perché lo stato di quel blocco dipende da un cookie. http://drupal.org/project/ajaxblocks e http://drupal.org/project/ajaxify_regions sono 2 progetti che facilmente fanno questo.

Inoltre sarebbe difficile ottenere aggiornamenti scoppiare se la pagina è in cache. Avrete problemi simili per gli utenti di vernice pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top