2013-02-11 16 views
8

nei miei layout default.ctp hopangrattato, non vengono aggiunti visualizzazioni memorizzate nella cache

<!--nocache--> 
    <?php echo $this->Html->getCrumbs('/', 'Home'); ?> 
<!--/nocache--> 

All'interno di una vista chiamata rules.cpt ho

<!--nocache--><?php $this->Html->addCrumb('Rules', '/rules'); ?><!--/nocache--> 

Quando la prima apertura del (non memorizzata nella cache) vista, il pangrattato viene reso come desiderato. Con ogni rendering aggiuntivo (memorizzato nella cache), viene visualizzato solo Home.

Quando si rimuove la memorizzazione nella cache del controller

// public $cacheAction = array('home' => 120, 'rules' => 36000); 

tutto funziona.

Perché non viene chiamato addCrumb()? Ho provato ad aggiungere <?php echo time(); ?> allo stesso nocache -blocco che funziona (cioè viene richiamato su ogni rendering di pagina).

+1

quale versione di cakephp stai usando? – MarcDefiant

+0

v2.3 - Grazie per il suggerimento. Ho aggiunto un'etichetta per quanto riguarda le informazioni sulla versione – Gundon

+1

perché le briciole dovrebbero essere al di fuori del caching in primo luogo? si memorizza nella cache il sito, quindi i collegamenti del sito dovrebbero essere anche scollegabili in quanto non cambiano. – mark

risposta

2

La fonte dei problemi sembra essere l'ordine delle chiamate effettuate.

Nella mia versione iniziale <?php echo $this->Html->getCrumbs('/', 'Home'); ?> è stato chiamato prima di <?php $this->Html->addCrumb('Rules', '/rules'); ?> ciò che funziona bene finché le viste non vengono memorizzate nella cache.

Non appena vengono memorizzate nella cache funziona solo addCrumb viene chiamato primagetCrumbs.

Questo in parte risponde solo alla mia domanda. Perché getCrumbs viene utilizzato nei miei layout .ctp non è possibile modificare l'ordine.

Ho postato questo come risposta e non come nota sulla mia domanda, in modo che nessuno riceva la taglia per qualcosa che ho già scritto nella domanda;) Se è possibile fornire una soluzione al problema rimanente o sapere se questo è un bug in Cake, sono felice di darti la taglia.

Problemi correlati