CDN для MODX Revolution
Проверено на MODX Revolution 2.8.9-pl и 3.2.4-pl, PHP 8.3. Минимум PHP модуля — 7.4, но MODX 3 требует более новую версию PHP. MODX Evolution не поддерживается.
| Ветка | Пакет 0.1.0 |
|---|---|
| Revolution 2.8 | zorkacdn2-0.1.0-pl.transport.zip · SHA-256 |
| Revolution 3.x | zorkacdn3-0.1.0-pl.transport.zip · SHA-256 |
Установка
- Подключите источник CDN и получите адрес для своего сайта.
- Скопируйте пакет своей ветки в
core/packages/через файловый менеджер хостинга. В менеджере MODX откройте Extras / Приложения → Installer / Установщик, выполните поиск локальных пакетов и установите Zorka CDN. Архив не нужно распаковывать вручную. - В системных настройках выберите пространство имён zorkacdn. Укажите
zorkacdn.origin— основной URL сайта с подкаталогом и завершающим/, напримерhttps://example.com/. Укажитеzorkacdn.cdn— выданный HTTPS CDN URL, включая/s/site_id. - В
zorkacdn.includeперечислите публичные папки, по одной/папке/на строку. По умолчанию/assets/. Вzorkacdn.excludeперечислите приватные каталоги; по умолчанию исключён/assets/private/. Для установки в подкаталоге нужны полные пути от корня домена. - Проверьте реальную картинку через CDN, установите
zorkacdn.enabledв «Да» и очистите кэш MODX и всех кэширующих страниц посредников.
Пакеты 2 и 3 — альтернативы для разных веток, одновременно ставить их не нужно. Подмена первоначально выключена. Существующие настройки сохраняются при повторной установке; обновление сначала проверяйте на копии сайта.
Работа и контексты
Плагин использует OnWebPagePrerender: обрабатывает итоговый HTML публичной страницы, включая srcset, lazy-loading и inline CSS. Проверена повторная выдача кэшированной страницы. Ресурсы, шаблоны и изображения в базе/на диске не изменяются.
Для каждого контекста можно переопределить zorkacdn.origin, zorkacdn.cdn, zorkacdn.include, zorkacdn.exclude и zorkacdn.enabled через настройки контекста. У каждого источника должен быть соответствующий выданный CDN URL. Менеджер, вошедшие в текущий контекст или менеджер пользователи, не-HTML, POST и скачиваемые ресурсы пропускаются.
Если шаблон содержит <base href>, он должен точно совпадать с zorkacdn.origin, включая завершающий /. Неизвестный base приводит к пропуску всей страницы. Отдельная AJAX/JSON-выдача и произвольные строки JavaScript не переписываются.
Отключение
Выключите zorkacdn.enabled либо плагин Zorka CDN и очистите кэш. При удалении пакета через менеджер удаляются установленные им плагин, событие и системные настройки; настройки контекстов, добавленные вручную, удалите отдельно. Оригинальные ресурсы и картинки сохраняются. Если до установки уже существовали одноимённые объекты, менеджер пакетов MODX может сохранить их при удалении.