Ich habe ein Problem, das mit dem Zwischenspeichern von statischen CMS-Blöcken zusammenhängt.
Ich habe eine cms-Seite und innerhalb dieser Seite rendere ich eine Reihe von statischen cms-Blöcken. Eine vereinfachte Version des CMS-Seiteninhalts sieht folgendermaßen aus:
<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>
Die Seite wird wie erwartet geladen, unmittelbar nachdem der Blockcache geleert wurde. Diese Seite sieht ungefähr so aus:
<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>
Nach dem ersten Laden der Seite ist der Inhalt jedoch bei jedem weiteren Laden der Seite falsch. Es sieht aus wie das:
<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>
Im zweiten Beispiel sehen Sie, dass die ersten beiden Promos korrekt sind, jedoch zeigt alles, was danach folgt, den falschen Inhalt für die block_id an. Außerdem werden die Blöcke promo_home_1_1 und promo_home_1_2 zweimal und promo_home_3_1 und promo_home_3_2 nie gerendert. Es ist wie die Zuordnung zwischen block_id und dem zugehörigen statischen Blockinhalt, der irgendwie verwechselt wird. Dies hängt mit dem Caching zusammen, da ich das Problem nicht mehr sehe, wenn der Blockcache nicht aktiviert ist.
Es ist wahrscheinlich auch erwähnenswert, dass diese Seite für EE 1.13 verwendet wurde. Nach dem Upgrade auf EE 1.14.2 ist dieses Problem jedoch aufgetreten.
Mir ist klar, dass es ziemlich schwer ist zu sagen, was falsch ist, ohne zu wissen, was sonst noch im System vor sich geht, aber ich hoffe, dass jemand mir hier wenigstens eine Richtung geben kann, da mir die Ideen ausgehen.
Aktualisieren:
Ich habe dies auch mit Widgets versucht, z
<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 diesem Fall haben alle 3 Blöcke den gleichen Inhalt zurückgegeben, obwohl die IDs auf verschiedene Blöcke in der Datenbank verweisen. Wenn der Cache geleert wird, ändert sich der zurückgegebene Block manchmal, aber alle drei Widgets haben immer noch den gleichen Inhalt.