8.2 KiB
8.2 KiB
Модуль Комментарии.
Функционал:
-
Возможность создавать комментарии как зарегистрированным Пользователям так и Анонимам
- Разрешения задаются в Админпанели
-
Аватар Пользователя
- если есть в системе - выведет его изображение, если нет выведет аватар с первой буквой имени пользователя или анонима
-
Авторская оценка
- При создании комментария , Автор может поставить оценку материалу (документу) - звезды 1...5 баллов
- Права для Анонимов (разрешено/нет)настраиваются в Админпанели
- Разрешать Авторскую оценку в ответах настраивается в Админпанели
-
Рейтинг комментариев
- Пользователи и Анонимы могут ставить оценки комментариям других Авторов
- На выбор два варианта или пять звезд или лайк (сердечко)
- Права для Анонимов (разрешено участвовать/нет)настраиваются в Админпанели
-
Таймер времени, при котором доступно редактирование или удаление комментария Автором
- Время задается в Админпанели, после истечении времени редактирование или удаление комментария будет сделать невозможно, за исключением Администратора
-
Время жизни куки для Анонимов
- Задается в Админпанели, в течении этого времени Аноним будет считаться Автором своих комментариев
-
Файлы
- Авторы могут загружать в свои комментарии разрешенные в Админпанели файлы.
- Размер и тип файла задаются в Админпанели. Отдельные права для Анонимов. Для изображений выводятся их превью, для остальных превью с именем расширения этого файла.
-
Дополнительные поля
- Два дополнительных поля, их названия и обязательные или нет, настраивааются в Админпанели
-
Валидация обязательных полей на заполненность + проверка на разрешения для файлов
-
Комментарий - родитель (ветка комментариев)
- Если на комментарий Автора другие Пользователи сделали ответ, то удалить такой комментарий Автору или Администратору в публичной части сайта будет невозможно, вместо этого будет произведено мягкое удаление - удалится все , что относится к данному комментарию (Рейтинги, файлы , текст) и вместо этого будет выводится специальный аватар и текст: Комментарий удален автором либо Комментарий удален администратором. Восстановить данные такого комментария невозможно.
-
Удаление комментариев в Админке
- Одиночные комментарии (не имеющие ответов) удаляются сразу и навсегда.
- Комментарии родители (имеющие ответы/ветку ответов) получают два варианта одиночного удаления:
- Мягкое удаление (удалится все , что относится к данному комментарию (Рейтинги, файлы , текст) и вместо этого будет выводится специальный аватар и текст: Комментарий удален администратором. Восстановить данные такого комментария невозможно,
- Жесткое удаление самого комментария и всей ветки ответов на этот комментарий. Администратор выбирает сам какой вариант ему необходим.
- Массовое удаление - одиночные комментарии удаляются сразу, комментарии-родители удаляются Мягким вариантом (с подстановкой текста Комментарий удален Администратором).
-
Контроль Имен Анонима
- Если Анонимный пользователь, в течении жизни куки, сменит имя под которым он опубликовал свой первый комментарий, рядом с именем появится плашка с тултипом в котором будут перечислены все его имена.
-
Пагинация
- Пагинация работает только для родительских комментариев, количество ответов (дети и внуки) на родительский комментарий - задается в Админпанели отдельно. Если общее количество ответов превышает лимит ответов установленный из Админки, будет выведена кнопка Показать еще N ответов, при клике по которой AJAX подгрузит и выведет оставшиеся комментарии на страницу.
-
Система тегов:
- Тег [mod_comment] (Без параметров) - Это основной системный тег для вывода полноценного функционала на странице документа, выводит форму создания нового комментария + сами комментарии.
- Тег [mod_comment:X] (Один параметр) - Выводит виджет последних комментариев, где X - количество выводимых комментариев, количество символов текста комментария равно 150 по умолчанию.
- Тег [mod_comment:X:Y] (Два параметра) - Выводит виджет последних комментариев, где X - количество выводимых комментариев, а Y - количество символов в тексте комментария.
Сводная таблица параметров по умолчанию
| Тег | Лимит (X) | Обрезка текста (Y) | Режим вывода |
|---|---|---|---|
| [mod_comment] | — | 1000 | Полный список + Форма |
| [mod_comment:10] | 10 | 150 | Виджет (last_comments.tpl) |
| [mod_comment:5:200] | 5 | 200 | Виджет (last_comments.tpl) |
Для AJAX работы модуля не забудьте подключить:
JS:
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.3.0/jquery.form.min.js
https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js
Стили:
https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css
https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css