Tôi có một vấn đề dường như liên quan đến bộ nhớ đệm của các khối tĩnh CMS.
Tôi có một trang cms và trong trang đó tôi đang hiển thị một số khối tĩnh cms. Một phiên bản đơn giản hóa của nội dung trang CMS trông như thế này:
<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>
Trang tải như mong đợi ngay lập tức sau khi xóa bộ đệm ẩn, trang đó trông giống như thế này:
<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>
Tuy nhiên, sau khi tải trang inital, mọi trang tải tiếp theo nội dung không chính xác. Nó trông như thế này:
<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>
Trong ví dụ thứ hai, bạn có thể thấy hai quảng cáo đầu tiên là chính xác, tuy nhiên mọi thứ sau đó đang hiển thị nội dung sai cho block_id. Ngoài ra, chặn promo_home_1_1 và promo_home_1_2 đều được hiển thị hai lần và promo_home_3_1 và promo_home_3_2 không bao giờ được hiển thị. Nó giống như ánh xạ giữa block_id và nội dung khối tĩnh liên quan của nó đang bị trộn lẫn bằng cách nào đó. Điều này có liên quan đến bộ nhớ đệm vì nếu bộ đệm khối không được bật thì tôi không còn thấy vấn đề nữa.
Ngoài ra, có lẽ đáng lưu ý rằng trang này đã từng hoạt động trên EE 1.13, tuy nhiên sau khi nâng cấp lên EE 1.14.2, sự cố này đã bắt đầu xảy ra.
Tôi nhận ra khá khó để nói những gì sai mà không biết những gì khác đang xảy ra trong hệ thống nhưng tôi hy vọng ai đó có thể có thể cho tôi ít nhất một số hướng ở đây khi tôi hết ý tưởng.
Cập nhật:
Tôi cũng đã thử điều này với các widget, vd
<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>
Trong trường hợp này, cả 3 khối đều trả về cùng một nội dung mặc dù các id đang trỏ đến các khối khác nhau trong cơ sở dữ liệu. Khi xóa bộ đệm, khối được trả về đôi khi sẽ thay đổi, nhưng cả ba widget vẫn sẽ có cùng một nội dung.