- MODX 2
- MODX 3
- PHP 8.1
Диагностика и FAQ
Счётчик загружается до согласия
Проверьте, включён ли Legacy. В Strict ищите прямой <script> в шаблоне, чанках, плагинах, GTM или сторонних виджетах. Компонент не может остановить код, который обходит его загрузчики. Проверьте Network в новом приватном окне, а не только наличие cookie.
Сервис не запускается после разрешения
Убедитесь, что сервис включён, его категория видима, есть корректный ID/URL, разрешение действительно и bundle успешно собран. Для GTM проверьте consent checks каждого тега. Для карт и видео — корректность официального embed URL и возможность встраивания конкретного материала.
Баннер есть, но iframe всё равно запрашивает сервер
Обычный <iframe src="…"> начинает загрузку самостоятельно. Используйте CookieConsentVideo, CookieConsentMap либо обёртку data-cc-embed с прямым дочерним <template>. Для AJAX-вставки после добавления DOM вызовите mountEmbeds(root).
CSP блокирует сервис после согласия
Cookie Consent Manager отвечает за разрешение, а Content-Security-Policy — за допустимые сетевые источники. Они не заменяют друг друга. При ошибках script-src, connect-src, img-src или frame-src добавляйте только проверенные домены необходимых интеграций; не снимайте CSP целиком.
Ошибка сборки адаптеров
Откройте статус в Настройки → Дополнительные настройки → Сборка адаптеров. Проверьте синтаксис ES2020, наличие обязательных файлов и права на запись в assets/. При ошибке обновления прежний рабочий bundle не перезаписывается. Исправьте файл и запустите административную пересборку.
Ошибки с Fenom
Используйте вызовы сниппетов без кеширования; не вставляйте JSON реестра в код, обрабатываемый Fenom, вручную. При сбое только на прогретом кеше проверьте отдельно связку pdoTools/Fenom и её версию. Для MODX 3 такое поведение исследовалось как независимая проблема upstream — не считайте успешную загрузку холодной страницы достаточной проверкой совместимости.
Журнал пуст
Проверьте серверный каталог, права PHP, HTTP-запрос аудита и ответ receiver. Откройте запись в Manager и файл нужного месяца. Пустой журнал при работающем баннере может означать ошибку отправки/валидации событий, а не отсутствие выбора.
Установка заблокирована preflight
Сообщения Unowned cookie_consent objects, Unowned component files или Namespace path conflict означают, что установщик обнаружил объект, чужой файл или несовместимый путь. Не удаляйте записи БД автоматически: сначала выясните, какой объект остался и принадлежит ли он предыдущей установке или другому дополнению. Корректный пустой namespace нового пакета сам по себе не блокирует установку. Исторические пакеты cookieconsent и cookieconsent3 не мигрируются.
После удаления остались пользовательские файлы
Это ожидаемо для изменённых адаптеров, неизвестных файлов и журналов согласий. Их расположение и правила очистки описаны в разделе Удаление и переустановка. Если новое установление блокируется сохранённым файлом, сначала проверьте его и сохраните резервную копию.
После правок продолжается старое поведение
Очистите штатный кеш MODX, кеш HTML/CDN и убедитесь в обновлении URL bundle ?v=. Самостоятельно удалять текущий рабочий минифицированный JS не следует: посетительские запросы не запускают повторную сборку.
Что ещё проверить перед запуском
В двух разных профилях браузера последовательно проверьте Strict/Legacy, RU/EN, выбранные категории, повторный визит, отзыв согласия, карты/видео, реальные сетевые обращения и журнал. При upgrade проверьте сохранность пользовательских файлов адаптеров и настроек.
