मेरे पास एक मुद्दा है जो सीएमएस स्थिर ब्लॉकों के कैशिंग से संबंधित है।
मेरे पास एक 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>
हालाँकि इनबिल्ट पेज लोड होने के बाद, बाद के हर पेज पर सामग्री गलत है। यह इस तरह दिख रहा है:
<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 को कभी भी गाया नहीं गया है। यह ब्लॉक_आईडी और इसके संबंधित स्थिर ब्लॉक सामग्री के बीच मानचित्रण की तरह किसी तरह मिलाया जा रहा है। यह कैशिंग से संबंधित है क्योंकि यदि ब्लॉक कैश सक्षम नहीं है तो मैं अब समस्या नहीं देखता।
इसके अलावा, यह संभवतः ध्यान देने योग्य है कि यह पृष्ठ ईई 1.13 पर काम करता था, हालांकि ईई 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 ब्लॉकों ने समान सामग्री लौटा दी, भले ही आईडी डेटाबेस में विभिन्न ब्लॉकों की ओर इशारा कर रहे हों। जब कैश साफ़ हो जाता है तो लौटा दिया गया ब्लॉक कभी-कभी बदल जाएगा, लेकिन सभी तीन विजेट्स में अभी भी समान सामग्री होगी।