Xcomm3x — комментарии для MODX 3: вложенные ответы, модерация, защита от спама, голосование и email-уведомления. На сайте работает на Fetch API без jQuery и других библиотек, оформление — чанками MODX (готовые темы: своя, Bootstrap 5, UIkit 3).
Основные возможности
- Вложенные комментарии — древовидные ответы с настраиваемой глубиной вложенности
- Три готовые темы — встроенная (
xcomm3x-*), Bootstrap 5, UIKit 3; кастомизация через чанки - Гости и авторизованные — гости вводят имя и email; у авторизованных данные из профиля MODX
- Модерация — премодерация новых комментариев, ручное одобрение/отклонение/спам в панели
- Email-уведомления — очередь с отправкой через cron: менеджеру, автору страницы, автору родительского комментария
- Отписки — пользователи могут отписаться от уведомлений по каждому каналу отдельно
- Стоп-слова — фильтрация по словам и фразам: модерация, отклонение или спам
- Блокировка IP — по адресу или CIDR-маске; режим тихой блокировки (фиктивный успех)
- Капча — изображение с 6 цифрами; пользователь вводит первые или последние 3 (задание случайное при каждой загрузке); режимы: только гостям, всем, отключена
- Rate limiting — ограничение числа комментариев за скользящее окно времени
- Голосование — лайки/дизлайки; каждый пользователь голосует один раз
- Редактирование и удаление — авторы могут изменять свои комментарии в заданное окно времени
- Пагинация — кнопка «Загрузить ещё» с курсорной навигацией
- Несколько блоков на странице — через параметр
block_key
Требования
- MODX3 (Revolution 3.x)
- PHP 8.2+
- MySQL 5.7+ / MariaDB 10.3+
Панель администратора
Доступна через меню компонентов MODX (Компоненты → Xcomm3x). Состоит из вкладок:
| Вкладка | Назначение |
|---|---|
| Очередь модерации | Комментарии со статусом «На модерации» и «Спам». Одобрение, отклонение, пометка спамом |
| Все комментарии | Полный список; поиск, фильтр по статусу; редактирование через двойной клик |
| Стоп-слова | Управление списком стоп-слов и режимами реакции |
| Блокировки IP | Управление заблокированными адресами и масками |
| Email очередь | Просмотр очереди писем; фильтр по статусу и каналу; повтор отправки при ошибке |
| Отписчики | Список пользователей, отписавшихся от уведомлений |
| Настройки | Все системные настройки компонента в одной форме |
| Документация | Встроенная справка с примерами вызовов сниппетов |