ฉันมีปัญหาที่ดูเหมือนว่าจะเกี่ยวข้องกับการแคชของบล็อกคง CMS
ฉันมีหน้า cms และภายในหน้านั้นฉันกำลังแสดงบล็อกแบบคงที่จำนวน cms เนื้อหาหน้า CMS ที่เรียบง่ายมีลักษณะดังนี้:
<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>
หน้าโหลดตามที่คาดไว้ทันทีหลังจากล้างแคชบล็อกหน้านั้นจะมีลักษณะดังนี้:
<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>
อย่างไรก็ตามหลังจากโหลดหน้า inital ทุกหน้าในภายหลังโหลดเนื้อหาไม่ถูกต้อง ดูเหมือนว่านี้:
<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>
ในตัวอย่างที่สองคุณสามารถเห็นโปรโมชันสองรายการแรกนั้นถูกต้องอย่างไรก็ตามทุกอย่างหลังจากนั้นจะแสดงเนื้อหาที่ไม่ถูกต้องสำหรับ block_id นอกจากนี้การบล็อก promo_home_1_1 และ promo_home_1_2 นั้นจะแสดงผลสองครั้งและ promo_home_3_1 และ promo_home_3_2 จะไม่ถูกเรนเดอร์ มันเหมือนกับการทำแผนที่ระหว่าง block_id และเนื้อหาบล็อกคงที่ที่เกี่ยวข้องจะถูกผสมกันอย่างใด สิ่งนี้เกี่ยวข้องกับการแคชราวกับว่าไม่ได้เปิดใช้งานการแคชบล็อกฉันไม่เห็นปัญหาอีกต่อไป
นอกจากนี้อาจเป็นเรื่องที่น่าสังเกตว่าหน้านี้เคยใช้กับ EE 1.13 แต่หลังจากอัปเกรดเป็น EE 1.14.2 ปัญหานี้ได้เริ่มขึ้นแล้ว
ฉันรู้ว่ามันยากที่จะพูดว่าผิดปกติโดยที่ไม่รู้ว่ามีอะไรเกิดขึ้นในระบบ แต่ฉันหวังว่าจะมีใครบางคนสามารถให้ทิศทางฉันได้มากกว่านี้อย่างน้อยตอนที่ฉันหมดความคิด
ปรับปรุง:
ฉันก็ลองทำสิ่งนี้ด้วยวิดเจ็ตเช่น
<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>
ในกรณีนี้บล็อกทั้ง 3 รายการส่งคืนเนื้อหาเดียวกันแม้ว่ารหัสจะชี้ไปยังบล็อกต่างๆในฐานข้อมูล เมื่อแคชถูกล้างการบล็อกที่ส่งคืนจะมีการเปลี่ยนแปลงในบางครั้ง แต่วิดเจ็ตทั้งสามจะยังคงมีเนื้อหาเดียวกัน