كيف يمكنني إيقاف زيت التربنتين من التخزين المؤقت لكتلة "الرأس" الخاصة بي، واستخدام ذاكرة التخزين المؤقت للصفحة فقط؟

magento.stackexchange https://magento.stackexchange.com//questions/79734

  •  13-12-2019
  •  | 
  •  

سؤال

في header.phtml, ، لدي HTML خاص بالصفحة الأولى (H1 العلامة) تحت $this->getIsHomePage() حالة.أحتاج هذا H1 لتظهر فقط في الصفحة الأولى.

المشكلة هي:تحت زيت التربنتين، هذا H1 تظهر العلامة في كل صفحة.أعتقد أن السبب في ذلك هو أن زيت التربنتين يقوم بتخزين الكتلة للموقع بأكمله.

بشكل افتراضي، turpentine_esi.xml لديه التكوين التالي ل header حاجز:

    <!--
    A default Magento site includes a logged in user's name in the welcome
    message and the number of items in the shopping cart so it must be
    cached per-client.
    -->
    <reference name="header">
        <action method="setEsiOptions">
            <params>
                <access>private</access>
                <flush_events>
                    <wishlist_item_save_after/>
                    <wishlist_item_delete_after/>
                    <sales_quote_save_after/>
                </flush_events>
            </params>
        </action>
    </reference>

ليس لدي معلومات تسجيل الدخول في قالب الرأس، لذلك أعتقد أنه يمكنني فقط إسقاط header منع من التكوين (أو بالأحرى تجاوزه في local.xml).

الحل الذي يمكنني التفكير فيه هو:لا تخزن header قم بحظره في زيت التربنتين على الإطلاق، وقم بتخزينه مؤقتًا في صفحة HTML الكاملة.لذلك قمت بإزالة هذه القطعة من turpentine_esi.xml.

المشكله هي:لا يزال يتم عرض كتلة H1 على جميع الصفحات.

لقد قمت بإعادة تشغيل الورنيش، php5-fpm، وحذفت Magento فعليًا var/cache, والكتل المتدفقة وكتل ESI وذاكرة التخزين المؤقت لصفحة HTML في المشرف ...وما زلت أرى الإصدار الخاطئ من قالب الرأس، مع H1 في كل صفحة.

بطريقة أخرى، حاولت تغيير header خيارات التخزين المؤقت ل public - وهذا لم يساعد أيضًا:

    <reference name="header">
        <action method="setEsiOptions">
            <params>
                <access>public</access>
            </params>
        </action>
    </reference>

أنا أستخدم ماجنتو 1.9.0.1.

هل كانت مفيدة؟

المحلول

في النهاية، كنت بحاجة لتجاوز (إزالة) header منع من turpentine_esi.xml في app/design/frontend/base/default/layout/local.xml.لي local.xml:

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="header">
            <action method="setEsiOptions">
            </action>
        </reference>

        <!-- We at Tahta.com.ua only need to cache the cart block. -->
        <reference name="top_cart_block">
            <action method="setEsiOptions">
                <params>
                    <access>private</access>
                    <flush_events>
                        <wishlist_item_save_after/>
                        <wishlist_item_delete_after/>
                        <sales_quote_save_after/>
                    </flush_events>
                </params>
            </action>
        </reference>

    </default>
</layout>

نصائح أخرى

<reference name="header">
 <action method="setEsiOptions">
    <params>
        <access>private</access>
    </params>
 </action>
</reference>

كما يرجى الرجوع إلى هذا الرابط https://rajeshganjeer.wordpress.com/2014/05/28/varnish-with-magento-terpentine/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top