Come perforare la cache di pagina intera senza modulo personalizzato


18

La cache della nostra pagina intera sembra essere basata sulla sessione. Se apro una finestra di navigazione in incognito con Chrome e visito una delle pagine, riscalda la cache e il caricamento della seconda pagina è molto più veloce, tuttavia, se chiudo quella finestra e apro una nuova finestra di navigazione in incognito, la pagina non è più nella cache a tutta pagina e deve essere nuovamente riscaldata. Riteniamo che ciò sia dovuto a una barra laterale che mostra all'utente il contenuto del proprio carrello.

Ho spostato quell'html in un nuovo file phtml, ho eliminato i blocchi xml del layout e ora sto lavorando sul file cache.xml ....

Tutti gli esempi che ho trovato per cache.xml si riferiscono ai moduli, tuttavia, non ho usato un modulo per i miei blocchi xml di layout, ho usato core / template ...

C'è qualche possibilità che qualcuno possa far luce su un blocco di cache di xml che non richiede un modulo e / o un modello?


Stai utilizzando la cache a pagina intera di Magento Enterprise o stai utilizzando uno strumento di terze parti come Varnish? Se hai un carrello visibile, la pagina utilizzerà la sessione come parte della chiave cache. La modalità di navigazione in incognito elimina tutti i cookie dopo la chiusura in modo da ottenere una nuova sessione dopo aver riaperto la pagina. Punzonatura ha problemi. Fabrizio ha un post eccellente su questo: fabrizio-branca.de/…
Tim Reynolds,

Risposte:


6

Non è possibile creare un segnaposto in Enterprise Edition senza disporre di un modulo per contenere cache.xml che a sua volta ospita la definizione di segnaposto. Quindi, se hai bisogno di avere un buco personalizzato nella cache della pagina intera, dovrai creare un modulo per definirlo.

Il blocco carrello della barra laterale incorporato ha un segnaposto pronto per l'uso. Quel segnaposto contrassegna i contenuti memorizzati nella cache in base alla sessione dell'utente. Il contenuto principale della pagina verrà caricato dalla cache dopo essere stato riscaldato da altri utenti, è solo questo "buco" in esso che deve essere riempito e generato su una base per utente. Si noti inoltre che quando i contenuti del carrello dell'utente cambiano, i contenuti di questa buca verranno rigenerati e memorizzati nella cache.

Si noti che quanto sopra è presupposto che si tratti effettivamente dell'FPC Enterprise Edition e della perforazione a cui ti riferisci, non di qualcosa come Varnish. Se stai usando Varnish (con una corretta configurazione), non servirà pagine dalla cache alla prima visita a Magento. Questo perché alla prima visita la richiesta dell'utente deve essere passata a Magento in modo che l'applicazione possa generare una sessione per loro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.