Ho un problema che sembra essere correlato alla memorizzazione nella cache dei blocchi statici CMS.
Ho una pagina cms e all'interno di quella pagina sto eseguendo il rendering di un numero di blocchi statici cms. Una versione semplificata del contenuto della pagina CMS è simile alla seguente:
<div class="cms-block-1">{{block type="cms/block" block_id="banner_home"}}</div>
<div class="cms-block-2">{{block type="cms/block" block_id="promo_home_1_1"}}</div>
<div class="cms-block-3">{{block type="cms/block" block_id="promo_home_1_2"}}</div>
<div class="cms-block-4">{{block type="cms/block" block_id="promo_home_2_1"}}</div>
<div class="cms-block-5">{{block type="cms/block" block_id="promo_home_2_2"}}</div>
<div class="cms-block-6">{{block type="cms/block" block_id="promo_home_2_3"}}</div>
<div class="cms-block-7">{{block type="cms/block" block_id="promo_home_3_1"}}</div>
<div class="cms-block-8">{{block type="cms/block" block_id="promo_home_3_2"}}</div>
La pagina si carica come previsto immediatamente dopo che la cache dei blocchi è stata cancellata, quella pagina ha un aspetto simile al seguente:
<div class="cms-block-1">banner content</div>
<div class="cms-block-2">promo_home_1_1 content</div>
<div class="cms-block-3">promo_home_1_2 content</div>
<div class="cms-block-4">promo_home_2_1 content</div>
<div class="cms-block-5">promo_home_2_2 content</div>
<div class="cms-block-6">promo_home_2_3 content</div>
<div class="cms-block-7">promo_home_3_1 content</div>
<div class="cms-block-8">promo_home_3_1 content</div>
Tuttavia, dopo il caricamento della pagina iniziale, ogni pagina successiva carica il contenuto non è corretto. Sembra così:
<div class="cms-block-1">banner content</div>
<div class="cms-block-2">promo_home_1_1 content</div>
<div class="cms-block-3">promo_home_1_2 content</div>
<div class="cms-block-4">promo_home_1_1 content</div>
<div class="cms-block-5">promo_home_1_2 content</div>
<div class="cms-block-6">promo_home_2_1 content</div>
<div class="cms-block-7">promo_home_2_2 content</div>
<div class="cms-block-8">promo_home_2_3 content</div>
Nel secondo esempio puoi vedere che le prime due promozioni sono corrette, tuttavia tutto ciò che segue mostra il contenuto errato per block_id. Inoltre, il blocco promo_home_1_1 e promo_home_1_2 vengono entrambi riprodotti due volte e promo_home_3_1 e promo_home_3_2 non vengono mai resi. È come se il mapping tra block_id e il relativo contenuto di blocco statico associato venisse mischiato in qualche modo. Ciò è correlato alla memorizzazione nella cache come se la cache dei blocchi non fosse abilitata, quindi non vedo più il problema.
Inoltre, probabilmente vale la pena notare che questa pagina funzionava su EE 1.13, tuttavia dopo l'aggiornamento a EE 1.14.2 questo problema ha iniziato a verificarsi.
Mi rendo conto che è piuttosto difficile dire cosa c'è che non va senza sapere cos'altro sta succedendo nel sistema, ma spero che qualcuno possa essere in grado di darmi almeno qualche altra direzione qui mentre sto esaurendo le idee.
Aggiornare:
Ho anche provato questo con i widget, ad es
<div class="cms-block-1">{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="63"}}</div>
<div class="cms-block-2">{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="64"}}</div>
<div class="cms-block-3">{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="65"}}</div>
In questo caso tutti e 3 i blocchi hanno restituito lo stesso contenuto anche se gli ID indicano blocchi diversi nel database. Quando la cache viene cancellata, il blocco restituito a volte cambia, ma tutti e tre i widget avranno comunque lo stesso contenuto.