- MODX 2
- MODX 3
- PHP 8.1
Адаптеры и сборка
Встроенный адаптер — исходный JS, описывающий подключение конкретного провайдера с учётом разрешений. Если провайдер изменил официальный SDK или способ загрузки, разработчик может изменить соответствующий файл, не меняя весь компонент.
Где искать файлы
Точный путь к исходнику показан в карточке сервиса рядом с «Исходный код адаптера». Типовой каталог установленного сайта:
assets/js/cookie-consent/services/Файлы этого каталога предназначены для изменений владельца сайта. Установочный пакет дополнительно хранит оригинальные версии адаптеров в приватном каталоге core/components/cookieconsentmanager/adapters/services/ на MODX 2 либо core/components/cookieconsentmanager3/adapters/services/ на MODX 3.
Как внести изменение
- Сохраните резервную копию исходника и проверьте новую официальную инструкцию провайдера.
- Измените требуемый файл
services/*.js; сохраняйте совместимый JavaScript (ES2020). - В Manager очистите кеш MODX или выберите Настройки → Дополнительные настройки → Сборка адаптеров → Пересобрать адаптеры.
- Проверьте статус и время последней успешной сборки, затем протестируйте Strict/Legacy и Network.
Сборка выполняется на сервере средствами PHP без Node/npm/Composer и объединяет только файлы, явно перечисленные в manifest. Дополнительные произвольные .js в каталоге не включаются автоматически. Пользовательский custom_js подключается отдельным файлом.
Безопасное обновление пакета
Система хранит SHA256 оригиналов адаптеров для версий пакета. При обновлении в пределах того же семейства пакета:
- Исходник без локальных изменений может быть обновлён до нового оригинала.
- Изменённый разработчиком исходник сохраняется даже при конфликте с новым оригиналом; автоматического merge нет.
- Намеренно удалённый исходник не восстанавливается безусловно.
- При ошибке нового JS остаётся предыдущая рабочая сборка и её версия; Manager показывает ошибку.
Готовый минифицированный JS публикуется атомарно. Он создаётся при установке/upgrade, очистке кеша в Manager либо ручной пересборке; посетительские запросы не запускают компиляцию. Новая установка без успешного bundle завершается ошибкой, поскольку предыдущего файла ещё нет.
При штатном удалении пакета исходные файлы с подтверждёнными штатными SHA256 удаляются, а изменённые или неизвестные адаптеры сохраняются с предупреждением. Не считайте это полной очисткой пользовательских данных.
Внимание
Не редактируйте одновременно с обновлением пакета один и тот же исходник через FTP/IDE. Перед upgrade сделайте резервную копию services/, конфигурации и последнего рабочего bundle.
