Плагин Forum Posts User — руководство и описание
Назначение плагина
Плагин Forum Posts User предназначен для отображения сообщений пользователя, размещённых им на форуме, в двух форматах:
- отдельная страница со списком собственных сообщений авторизованного пользователя;
- отдельная вкладка в профиле пользователя со списком его сообщений на форуме, доступная другим пользователям в рамках прав доступа.
Плагин расширяет модуль форумов и модуль пользователей, добавляя персонализированный просмотр форумной активности.
Общая логика работы плагина
Плагин работает в связке с модулем форумов и использует данные сообщений и тем форума. Он выполняет:
- выборку сообщений конкретного пользователя;
- проверку прав доступа к разделам форума;
- постраничную навигацию;
- сокращение текста сообщений;
- интеграцию в интерфейс сайта через меню и вкладки профиля.
Работа плагина полностью зависит от наличия модуля форумов и активного пользователя.
Работа плагина на стороне сервера (без кода)
Общие принципы
- Плагин подключается глобально и подгружает языковые файлы.
- Использует стандартную систему шаблонов Cotonti.
- Все данные извлекаются напрямую из таблиц форума.
- Для каждого запроса выполняется проверка прав доступа к форумным разделам.
Основные сценарии
- Просмотр собственных сообщений
- Пользователь должен быть авторизован.
- Используется идентификатор текущего пользователя.
- Подсчитывается общее количество сообщений.
- Формируется постраничная навигация.
- Сообщения сортируются по дате обновления, от новых к старым.
- Текст сообщений очищается от разметки и обрезается до заданной длины.
- Просмотр сообщений пользователя в профиле
- Используется идентификатор пользователя из профиля.
- Проверяется существование пользователя.
- Проверяется доступ к форумным разделам для каждого сообщения.
- Поддерживается переключение вкладок профиля.
- Поддерживается постраничный вывод.
Интеграция в интерфейс сайта
Меню авторизованного пользователя
- В меню появляется пункт «Мои посты на форуме».
- Пункт отображается только если:
- плагин активен;
- пользователь авторизован.
- Ссылка ведёт на отдельную страницу со списком сообщений пользователя.
Профиль пользователя
- В профиле пользователя появляется отдельная вкладка.
- Название вкладки содержит:
- заголовок;
- количество сообщений пользователя.
- Вкладка доступна при наличии прав на чтение форума.
- Вкладка активируется стандартным механизмом переключения вкладок.
Работа плагина для администратора
Администратор получает следующие возможности:
- включение и отключение плагина через панель расширений;
- настройка количества сообщений на странице;
- настройка длины отображаемого текста сообщения;
- автоматическая интеграция плагина в профиль пользователя без ручной доработки шаблонов;
- использование стандартных прав доступа форума без дополнительных настроек.
Плагин не добавляет новых типов прав и полностью опирается на существующую систему авторизации Cotonti.
Работа плагина для пользователя
Авторизованный пользователь
- Видит пункт «Мои посты на форуме» в меню.
- Может просматривать все свои сообщения, независимо от текущего профиля.
- Получает:
- список сообщений;
- название темы;
- дату сообщения;
- сокращённый текст;
- ссылку на конкретное сообщение в теме.
- Может листать страницы при большом количестве сообщений.
Просмотр чужого профиля
- Может открыть вкладку с сообщениями пользователя.
- Видит только те сообщения, к форумным разделам которых у него есть доступ.
- Может использовать постраничную навигацию.
- Видит актуальное количество сообщений пользователя.
Обработка прав доступа
- Для каждого сообщения проверяется право чтения соответствующего раздела форума.
- Сообщения из закрытых разделов не отображаются.
- Если пользователь не существует, вкладка отключается.
- Если модуль форумов не активен, функциональность плагина не используется.
Шаблоны и оформление
- Используются отдельные шаблоны:
- для страницы собственных сообщений;
- для вкладки в профиле пользователя.
- Поддерживается адаптивная верстка.
- Используются стандартные классы интерфейса.
- Поддерживается вывод сообщений в виде списка.
- Поддерживается хлебная навигация на отдельной странице.
Локализация
- Плагин использует языковые файлы.
- Все заголовки и подписи выводятся через систему локализации.
- Поддерживается мультиязычность.
Плагин Forum Posts User предоставляет структурированный и безопасный способ отображения форумной активности пользователей, интегрированный в профиль и меню сайта. Он работает на основе стандартных механизмов Cotonti, не нарушает модель прав доступа и не требует дополнительной логики со стороны администратора или пользователя.
исходный код на GitHub