Как лучше всего отключить запрос кеша из полностраничного кеша (FPC) в magento (предприятие)

Я хочу удалить следующую настройку:

<cms>enterprise_pagecache/processor_default</cms>

... из config.xml файла core/Enterprise/PageCache/config.xml, чтобы домашняя страница не кэшировалась (поскольку у нас есть сложный переключатель пользовательского хранилища).

Поскольку это значение не хранится в core_config_data, я не уверен, как лучше всего переопределить стандартное значение. Комментарии над строкой в ​​основном файле намекают на то, что редактировать этот файл на самом деле не является плохой практикой, однако могу ли я открыть его для сообщества, чтобы узнать, что они думают?

PS = Это настройка нескольких веб-сайтов с пользовательским переключателем магазинов.


person Tommy Cox Green    schedule 04.10.2011    source источник


Ответы (1)


Похоже, вам может понадобиться перфорация отверстий.

Добавьте в модуль файл etc/cache.xml с корнем <config>. (см. Enterprise/PageCache/etc/cache.xml). Выберите уникальное имя [заполнитель].

Значение узла placeholders/[placeholder]/block должно совпадать с идентификатором класса вашего пользовательского динамического блока, например. моймодуль/пользовательский

Значение узла placeholders/[placeholder]/container — это класс для динамического создания содержимого и обработки кэширования на уровне блоков.

Значение узла placeholders/[placeholder]/placeholder — это уникальная строка для обозначения динамических частей кэшированной страницы.

placeholders/[placeholder]/cache_lifetime игнорируется, при необходимости укажите время жизни блочного кэша в методе контейнера _saveCache()

Реализуйте класс контейнера и расширяйте Enterprise_PageCache_Model_Container_Abstract. Используйте _renderBlock() для возврата динамического содержимого.

Реализуйте метод _getCacheId() в контейнере, чтобы включить кэширование на уровне блоков. Используйте значения файлов cookie вместо идентификаторов моделей (более низкая стоимость).

И последнее замечание: у вас НЕТ полного приложения Magento, когда вызывается _renderBlock(). Будьте максимально консервативны.

ИСТОЧНИК: http://tweetorials.tumblr.com/post/10160075026/ee-full-page-cache-hole-punching

person B00MER    schedule 04.10.2011
comment
Это хорошее объяснение того, как работают заполнители и FPC, но я пытаюсь остановить кэширование запроса к cms/index/index, поскольку файлы cookie и сеанс не обновляются правильно в моделях и контроллерах, когда FPC включен. Я не вижу, чтобы логика, которую я хочу реализовать, могла быть перенесена в блок и, следовательно, инкапсулирована в контейнер. - person Tommy Cox Green; 05.10.2011