मैं विशेष अनुभाग या ब्लॉक के लिए कैश को कैसे निष्क्रिय कर सकता हूं


31

मैंने स्टोर फ्रंट के लिए एक शीर्ष बार गाड़ी की कार्यक्षमता विकसित की है जो कार्ट में जोड़े गए नवीनतम तीन उत्पादों को प्रदर्शित करता है जब कैश अक्षम होता है, लेकिन जब मैं कैश को सक्षम करता हूं तो यह टॉप कार्ट में अजीब सबटोटल और कार्ट में अजीब उत्पादों को दिखाता है।

यह मुझे दुखी करता है: '(

मुझे पता है कि कैश की वजह से ऐसा हो रहा है। क्या ऐसा कुछ है जो मैं केवल इस अनुभाग के लिए कैश को अक्षम कर सकता हूं? मैंने ब्लॉक HTML कैश को अक्षम करने की कोशिश की है और अब जांच कर रहा है कि यह बहुत अच्छा काम कर रहा था, लेकिन मैंने पाया कि ब्लॉक HTML अक्षम होने पर श्रेणी फ्लैट अनिर्दिष्ट मुद्दे हैं।


2
क्या आपने अपनी समस्या हल कर ली? कैसे? कृपया हमारे साथ विवरण साझा करें। धन्यवाद!
फैबियन ब्लेसश्मिड

जवाबों:


32

तुम कोशिश कर सकते हो

    <reference name="needed block">
        <action method="setCacheLifetime"><s>null</s></action>
    </reference>

या

    <reference name="needed block">
        <action method="setCacheLifetime" />
    </reference>

अशक्त करने के लिए इसे सेट करें।

लेकिन शायद अजाक्स का उपयोग करना बेहतर है।

इसके बारे में nullया 0अर्थ के लिए एक अच्छा लेख हैhttp://blog.kyp.fr/make-a-clean-sweep-of-commons-magento-cache_lifetime-workarounds-usage-in-cache-block-policy/ (लिंक टूट गया है)


अजाक्स के हम्म का उपयोग समस्या को हल कर सकता है। मैं आपकी मदद के लिए इस धन्यवाद की कोशिश करूंगा।
रवीसन

2
मैंने सोचा null= कभी कैश नहीं और 0= कैश स्थायी रूप से?
10

1
null= कभी कैश नहीं, सही। हालाँकि, मुझे यकीन नहीं है कि निर्देश के nullसाथ मूल्य तर्क करना संभव है <action>
Dmytro Zavalkin

2
<action method="setCacheLifetime"><s>null</s></action>मेरे लिए काम किया। TNX!
खंडहर

6
कैश लाइफटाइम को "0" पर सेट करने से कैश अक्षम नहीं होता है। केवल "अशक्त" इसे निष्क्रिय कर देगा!
अन्ना वोक्कल

9

आप कैश को getChildHtml () में अक्षम कर सकते हैं। यह वही है जो हस्ताक्षर दिखता है:

public function getChildHtml($name = '', $useCache = true, $sorted = false)

यह काम कर जाना चाहिए:

echo $this->getChildHtml('block', false);

मैंने यह कोशिश की है .. वास्तव में top.phtml में कोडित किया गया है यह उस मामले में काम नहीं कर रहा है
ravisoni

यह भी कैश किया जा सकता है तो मुझे लगता है कि यह बहुत प्रभाव नहीं होगा। क्या कोई मौका है कि आप इसे उस हिस्से के बाहर खींच सकते हैं? मुझे नहीं लगता कि कोई अन्य विकल्प हैं ...
रिक कुइपर्स

9

विशेष रूप से xml फ़ाइल में। कैटलॉग कहो। xml

उस विशेष संदर्भ ब्लॉक के लिए उस ब्लॉक में कैश सीमा की कार्रवाई को शून्य करने के लिए सेट करें

कैटलॉग का उदाहरण। xml

<reference name="right">
    <block type="catalog/navigation" name="catalog.product.cat.related" as="related_cat" template="catalog/navigation/list_cat.phtml" after="-" >
        <action method="unsetData"><key>cache_lifetime</key></action>
        <action method="unsetData"><key>cache_tags</key></action>
    </block>
</reference>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.