J'ai un problème qui semble être lié à la mise en cache des blocs statiques du CMS.
J'ai une page cms et au sein de cette page, je rend un certain nombre de blocs statiques cms. Une version simplifiée du contenu de la page CMS ressemble à ceci:
<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 page se charge comme prévu immédiatement après l'effacement du cache de bloc, cette page ressemblant à ceci:
<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>
Cependant, après le chargement initial de la page, chaque chargement de page suivant le contenu est incorrect. Cela ressemble à ceci:
<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>
Dans le deuxième exemple, vous pouvez voir que les deux premières promos sont correctes, mais tout ce qui suit affiche le mauvais contenu pour le block_id. De plus, les blocs promo_home_1_1 et promo_home_1_2 sont tous deux rendus deux fois et promo_home_3_1 et promo_home_3_2 ne sont jamais rendus. C'est comme le mappage entre block_id et son contenu de bloc statique associé est en quelque sorte mélangé. Cela est lié à la mise en cache, comme si le cache de bloc n'est pas activé, je ne vois plus le problème.
En outre, il convient probablement de noter que cette page fonctionnait auparavant sur EE 1.13, mais après la mise à niveau vers EE 1.14.2, ce problème a commencé à se produire.
Je me rends compte qu'il est assez difficile de dire ce qui ne va pas sans savoir ce qui se passe dans le système, mais j'espère que quelqu'un pourrait me donner au moins un peu plus de direction ici car je manque d'idées.
Mise à jour:
J'ai aussi essayé ça avec des widgets, par exemple
<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>
Dans ce cas, les 3 blocs ont renvoyé le même contenu même si les identifiants pointent vers des blocs différents dans la base de données. Lorsque le cache est effacé, le bloc renvoyé change parfois, mais les trois widgets auront toujours le même contenu.