eZ Publish: кеширование страниц

eZ Publish: кеширование страниц

Настройка смарт-кешей нужна для автоматического сброса кешей родительских (или вполне конкретных) узлов при обновлении объекта.  Например, обновление страницы списка продуктов при обновлении конкретного товара.

Все манипуляции производятся в settings_admin/viewcache.ini.append.php.

Включаем SmartCacheClear

Выглядит это вот так:

[ViewCacheSettings]
SmartCacheClear=enabled

Добавляем настройки вида

Для всех вложенных объектов необходимо добавить настройки вида. Части условий может и не быть, например AdditionalObjectIDs, ObjectFilter и/или MaxParents.

[hr_product]
DependentClassIdentifier[]
DependentClassIdentifier[]=hr_page
DependentClassIdentifier[]=folder
DependentClassIdentifier[]=hr_product_category
AdditionalObjectIDs[]
AdditionalObjectIDs[]=57
AdditionalObjectIDs[]=72
ObjectFilter[]
ObjectFilter[]=45
ClearCacheMethod[]
ClearCacheMethod[]=object
MaxParents=2

где

[hr_product] — класс, к которому применяется секция настроек.

DependentClassIdentifier — массив классов, которые затрагивает эта секция (обычно указываются классы, стоящие выше по иерархии).

AdditionalObjectIDs[] — массив идентификаторов объектов (именно Object ID, а не Node ID), к которым будем применяться данная секция (мы обычно их используем для узлов вне иерархии, например чтобы обновить блок новостей на главной странице).

ObjectFilter[] -  массив идентификаторов объектов (именно Object ID, а не Node ID), которые не будут учитываться в данной секции (обычно мы не используем).

MaxParents — количество используемых уровней вложенности от текущего узла, с которого будет подниматься обработка секции (по-умолчанию, доходит до корневого узла, мы используем редко)

ClearCacheMethod[] - массив методов обновления кеша (используем почти всегда object).

Доступные методы очистки кэша

object — очистка кешей узлов, попавших под условия.

Parent — очистка родительских узлов, попавших под условие.

Relating — очистка связанных узлов (например, при наличии поля типа Object Relation).

Keyword — очистка узлов, с совпадающим ключевым словом.

Siblings — очистка соседних узлов.

All — все доступные типы очистки.

 

Бывают случаи, когда часть контента меняется самими пользователями сайта из front-end'a. В этом случае нужно дополнять настройки settings/viewcache.ini.append.php.

Комментарии

Оставить комментарий

Теги:

В России:

Дорогой сердцу Hadrout (Гэдрут) в России. Проекты, клиенты, мысли и эмоции нашей команды.

В Америке:

Наш далекий и в тоже время очень близкий Hadrout в Америке. Те же клиенты и проекты, но уже немного другие мысли и совсем другой вид из окна.