Создание качественного сайта — важный шаг на пути к успеху Вашей компании
+7(910)140-50-90 (Кэп)

MODx Revo: кешируем сниппет wayfinder

Сейчас легко и просто по шагам пройдем процедуру ускорения вашего меню на пару сотен вложенных позиций.

Есть такой древний как яйца мамонта сниппет getCache — https://modx.com/extras/package/getcache

Использование: https://github.com/opengeek/getCache/wiki/Usage

Обновлять его что-то некому, да и видимо нечего там особо править — полтора файла по полторы строчки.

При установке не забудьте закинуть connector.php, если устанавливаете не из репозитария (автор статьи не помнит, когда и как устанавливал, но этого файла почему-то не было).

Тонкости сниппета getCache - 1

Вот во что превратился вызов меню Wayfinder:

[[!getCache? &element=`Wayfinder` &cacheKey=`global_cache` &startId=`148` &sortBy=`pagetitle` &sortOrder=`ASC` &outerTpl=`nav_ul_l` &rowTpl=`nav_li_l` &activeParentRowTpl=`nav_li_here` &innerRowTpl=`nav_li_l` &innerHereTpl=`nav_li_here`  &hereTpl=`nav_li_here` &ignoreHidden=`0` &level=`1`   &selfClass =`hereClass`  &hereClass=`hereClass`   &debug=`0`]]

Если все идет по плану, появилась папка /home/.../core/cache/global_cache. Можно на всякий случай выставить ей права, например, 700, у MODx бывает такая болезнь, когда создаваемые системно папки имеют птичьи права, но это отдельная тема про umask 0022 и прочие мероприятия.

На этом официальная часть окончена. Теперь любой сниппет, вызванный через getCache, будет работать быстрее.

Но вот беда — сайтом-то пользуется администратор или программист или владелец небольшого предприятия, т. е., тот, кому вовсе не обязательно при малейшем изменении состава пунктов меню или слайдов или еще чего пробираться сквозь дебри сети в файловую систему и чистить папку global_cache.

И тут нам пригодится пункт меню панели управления, который в русифицированной версии MODX Revolution 2.3.3 называется Действия (появляется щелчком по шестеренке справа вверху).

Тонкости сниппета getCache от CapWeb - 2

Нажимаем Добавить и выставляем настройки:

  • Родитель — Обновить сайт
  • Ключ словаря: Кеш меню
  • Описание: Кеш меню
  • Привилегии: empty_cache
  • Пространство имен — core
  • И гвоздь программы — обработчик:
var partitions = 'global_cache';
var topic = '/clearpartitions/';
this.console = MODx.load({
xtype: 'modx-console'
,register: 'mgr'
,topic: topic
,show_filename: 0
});
this.console.show(Ext.getBody());
MODx.Ajax.request({
url: MODx.config.assets_url+'components/getcache/connector.php'
,params: { action: 'cache/partition/refresh', partitions: partitions, register: 'mgr' , topic: topic }
,listeners: {
'success':{fn:function() {
this.console.fireEvent('complete');
this.console = null;
},scope:this}
}
});
return false;

Тонкости сниппета getCache от CapWeb - 3

Теперь останется только убедиться, что у менеджера появился новый пункт меню, и он работает. Если при нажатии висит надпись «Консоль запущена...» и ничего не происходит — можно просто нажать ОК и зайти в папку global_cache, чтобы убедиться, что там пусто. Просто накопилось много кеша.

Тонкости сниппета getCache от CapWeb - 4

Аналогичным образом можно обернуть в getCache и другие сниппеты, подозреваемые в замедлении работы сайта.

P. S. Пригодилась статья — не обязательно добавлять в закладки, достаточно запомнить, что CapWeb делает и продвигает сайты на MODx и на всем остальном. Всегда рады потенциальным сотрудникам, партнерам, клиентам.

Следующая статья: Synergy Digital Forum 2018 — для тех, кто всё проспал https://capweb.ru/synergy-digital-forum-2018-dlya-teh-kto-vse-prospal.html

Предыдущая статья: Товарный знак и знак обслуживания https://capweb.ru/tovarnyi-znak-i-znak-obsluzhivaniya.html

Позиции сайта ООО Дека-НН на начало 2015 года
Позиции сайта veragold.ru на декабрь 2014 г.
reative
nalytics
romotion

Оставьте Вашу контактную информацию, и мы свяжемся с Вами!

Получайте горячие новости интернет-маркетинга и вечную скидку 5%!