Tengo un problema que parece estar relacionado con el almacenamiento en caché de bloques estáticos de CMS.
Tengo una página de cms y dentro de esa página estoy representando una serie de bloques estáticos de cms. Una versión simplificada del contenido de la página CMS se ve así:
<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 página se carga como se esperaba inmediatamente después de que se borra el caché de bloques, esa página se ve así:
<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>
Sin embargo, después de la carga inicial de la página, cada página posterior carga el contenido es incorrecto. Se parece a esto:
<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>
En el segundo ejemplo, puede ver que las dos primeras promociones son correctas, sin embargo, todo lo que se muestra a continuación muestra el contenido incorrecto para block_id. Además, el bloque promo_home_1_1 y promo_home_1_2 se representan dos veces y promo_home_3_1 y promo_home_3_2 nunca se representan. Es como la asignación entre block_id y su contenido de bloque estático asociado se está mezclando de alguna manera. Esto está relacionado con el almacenamiento en caché, ya que si el bloque de caché no está habilitado, ya no veo el problema.
Además, probablemente valga la pena señalar que esta página solía funcionar en EE 1.13, sin embargo, después de actualizar a EE 1.14.2, este problema comenzó a ocurrir.
Me doy cuenta de que es bastante difícil decir qué está mal sin saber qué más está sucediendo en el sistema, pero espero que alguien pueda darme al menos algo más de dirección aquí, ya que me estoy quedando sin ideas.
Actualizar:
También probé esto con widgets, por ejemplo
<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>
En este caso, los 3 bloques devolvieron el mismo contenido aunque los identificadores apuntan a diferentes bloques en la base de datos. Cuando se borra el caché, el bloque devuelto a veces cambiará, pero los tres widgets aún tendrán el mismo contenido.