Плагин Reviews v3.0.1 for Cotonti CMF
Описание
Плагин Reviews позволяет пользователям оставлять отзывы о других пользователях на сайте, работающем на Cotonti CMF (https://github.com/Cotonti/Cotonti). Поддерживает оценки в виде звёзд, редактирование и удаление отзывов, а также интеграцию с профилем пользователя. Отзывы можно привязывать к конкретным областям (например, users), а также отображать на главной странице или в профиле.
Важно: Интеграция с модулем Projects (для привязки отзывов к проектам) реализована, но не тестировалась.
Основные возможности
- Добавление, редактирование и удаление отзывов.
- Оценка в виде звёзд (от 1 до 5). от крайне плохо до превосходительно
- Отображение последних отзывов на главной странице index.tpl через условие функции:
<!-- IF {PHP|cot_plugin_active('reviews')} -->
{PHP|cot_reviews_last(4)}
<!-- ENDIF -->
- Подсчёт количества отзывов и средней оценки для пользователя.
- Интеграция с профилем пользователя через вкладку отзывов (
users.details.tpl). - Проверка прав доступа: только авторизованные пользователи могут оставлять отзывы, администраторы могут редактировать все отзывы.
- Поля при создании отзыва: заголовок (тема), текст отзыва и оценка
- Администратор имеет больше полей для правки, в том числе редактировать дату отзыва
- Уведомление администраторов сайта и пользователя, которому оставили отзывы сообщением по электронной почте
Требования
- Cotonti CMF (актуальная версия на момент разработки).
- PHP 8.4.
- Bootstrap 5.3.3 (встроен в Cotonti, подключается через
Resources::addFile в файле загрузки темы). - Font Awesome Free 6.7.2 (https://fontawesome.com/) для отображения иконок звёзд.
Установка
- Скопируйте папку
reviews в директорию /plugins/ вашего сайта. - Перейдите в админ-панель Cotonti:
Администрирование → Расширения → Плагины. - Найдите плагин Reviews и нажмите
Установить. - Настройте параметры плагина в разделе
Администрирование → Расширения → Плагины → Reviews → Настройки:checkprojects: Включить проверку совместных проектов для отзывов (не тестировалось).userall: Показывать все отзывы пользователя.
- Добавьте тег
{PHP|cot_reviews_last(5)} в шаблон index.tpl для отображения последних 5 отзывов на главной странице. - Убедитесь, что в шаблоне
users.details.tpl есть теги {USERS_DETAILS_REVIEWS_COUNT} и {USERS_DETAILS_REVIEWS_URL} для отображения отзывов в профиле. Подключите Font Awesome 6.7.2 в header.tpl, если он не встроен в вашу тему:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
а лучше скачайте и подключите локально.
Убедитесь, что Bootstrap 5.3.3 подключен в файле загрузки темы (обычно в themes/yourtheme/yourtheme.php):
Resources::addFile('lib/bootstrap/css/bootstrap.min.css');
if (Cot::$cfg['headrc_consolidate']) {
Resources::addFile('lib/bootstrap/js/bootstrap.bundle.min.js');
} else {
Resources::linkFileFooter('lib/bootstrap/js/bootstrap.bundle.min.js');
}
полный пример смотреть тут: https://github.com/webitproff/cot-CleanCot/blob/main/cleancot/cleancot.rc.php
Структура файлов
/plugins/reviews/
├── inc/
│ └── reviews.functions.php # Основные функции для обработки отзывов и генерации звёзд
├── lang/
│ ├── reviews.ru.lang.php # Переводы на русский
│ └── reviews.en.lang.php # Переводы на английский
├── настройка/
│ ├── reviews.install.sql # Настройка базы данных для таблицы cot_reviews
│ └── reviews.uninstall.sql # Очистка базы данных
├── tpl/
│ ├── reviews.tpl # Шаблон для отзывов о профиле пользователя
│ └── reviews.last.tpl # Шаблон для размещения последних отзывов на главной странице
├── reviews.global.php # Глобальный хук для локализации
├── reviews.input.php # Входной хук для инициализации
├── reviews.php # Основная логика плагина для добавления, обновления и удаления отзывов
├── reviews.setup.php # Конфигурация плагина
├── reviews.users.details.php # Интеграция со страницей профиля пользователя (хуки users.details.tags)
└── reviews.usertags.main.php # Ссылка для тегов пользователей (оценки звёздами и количество отзывов)
Использование
- Добавление отзыва: Пользователи могут оставить отзыв на странице профиля другого пользователя (вкладка
reviews). - Редактирование/удаление: Автор отзыва или администратор может отредактировать или удалить отзыв.
- Отображение на главной: Используйте тег
{PHP|cot_reviews_last(N)} в index.tpl, где N — количество отзывов. - В профиле пользователя: Вкладка отзывов доступна по ссылке
{USERS_DETAILS_REVIEWS_URL} и показывает количество отзывов {USERS_DETAILS_REVIEWS_COUNT}.
Настройка шаблонов
Примечания
- Если пользователь, оставивший отзыв, удалён из базы, в шаблонах будет отображаться "Неизвестный" вместо имени.
- Интеграция с модулем Projects не тестировалась, используйте на свой риск.
Разработка
- Плагин поддерживает хуки для кастомизации:
reviews.list.tags, reviews.edit.tags, reviews.add.tags, reviews.list.loop.
Лицензия
Свободное распространение и модификация BSD License. Copyright (c) 2025 CMSWorks Team. Допилил "под себя" webitproff https://github.com/webitproff
Buy
Плагин Reviews to Users v3.0.1 for Cotonti CMF at low prices. Online store offers to order Плагин Reviews to Users v3.0.1 for Cotonti CMF, view full description, detailed specifications, product photos and current prices with discounts