Аватары пользователей • Оформление никнеймов • Групповые стили • Интеграция с XenForo
Разработчик: Shum1kh1n
Платформа: XenForo 2.3.x
Тип: Дополнение (Add-on)
Формат: ZIP
Статус: Stable
ID дополнения: Shum1kh1n/MentionEnhancer
[Shum1kh1n / Helgring] Mention Enhancer — дополнение для XenForo 2.3, предназначенное для улучшения внешнего вида упоминаний пользователей в сообщениях форума.
В стандартном оформлении XenForo упоминание обычно отображается в виде кликабельного имени пользователя. Mention Enhancer дополняет привычный формат небольшим аватаром и сохраняет оформление никнейма, предусмотренное системой пользовательских групп.
В результате упоминания становятся более заметными, информативными и визуально привлекательными.
Основной принцип работы дополнения:
Дополнение не заменяет систему пользователей или стандартные уведомления, а расширяет отображение уже существующих упоминаний при формировании HTML-содержимого.
Основная особенность Mention Enhancer — автоматическое добавление аватара пользователя непосредственно перед его никнеймом.
При обработке корректного упоминания дополнение определяет пользователя, получает его аватар стандартными средствами XenForo и добавляет изображение к отображаемому имени.
Особенности реализации:
- Используется аватар именно упомянутого пользователя.
- Изображение выводится в компактном размере через стандартный механизм XenForo.
- Аватар и никнейм объединяются в один визуальный элемент.
- Сохраняется привычная ссылка на профиль пользователя.
- Не требуется вручную вставлять изображения или оформлять каждое упоминание.
Mention Enhancer учитывает стандартный механизм оформления имён пользователей XenForo.
Если для группы пользователя предусмотрено особое оформление никнейма, дополнение использует штатный механизм генерации ссылки на пользователя, позволяющий сохранить соответствующие стили.
Это особенно полезно для форумов, на которых используются различные визуальные обозначения групп.
- Администраторы — собственное оформление никнеймов.
- Модераторы — оформление, установленное для группы модераторов.
- VIP-пользователи — индивидуальные групповые стили.
- Обычные участники — стандартное отображение в соответствии с настройками форума.
Фактический внешний вид имени зависит от настроек групп и установленного стиля форума.
Mention Enhancer работает с существующей системой BBCode-упоминаний XenForo.
Для обработки используется расширение штатного HTML-рендерера:
XF\BbCode\Renderer\Html
Пример исходного BBCode:
[USER=1]Shum1kh1n[/USER]
При этом оригинальное содержимое сообщения не требует изменения.
Важно: дополнение изменяет визуальное представление упоминаний. Оно не добавляет отдельную систему уведомлений, не изменяет работу редактора сообщений и не заменяет стандартные механизмы обработки упоминаний XenForo.
При обработке упоминаний предусмотрены проверки, позволяющие избежать некорректного вывода пользовательских данных.
Если дополнение не может получить необходимые сведения для расширенного оформления, используется стандартный результат рендерера XenForo.
Резервный механизм применяется, например, когда:
- Указан некорректный идентификатор пользователя.
- Пользователь не найден в базе данных.
- Не удалось получить необходимую разметку аватара.
- Не удалось сформировать ссылку с именем пользователя.
- Содержимое упоминания оказалось пустым.
Это позволяет сохранить совместимость с обычным отображением упоминаний XenForo.
При формировании упоминаний используются штатные компоненты XenForo и дополнительное внутреннее кеширование найденных пользователей.
В рамках одного PHP-запроса ранее полученный пользователь может быть повторно использован при обработке нескольких упоминаний одного и того же аккаунта.
Это позволяет избегать повторного выполнения одного и того же поиска пользователя через дополнительный код при каждом упоминании.
Дополнение не создаёт собственных таблиц базы данных и не требует отдельного фонового процесса для работы.
В комплект входит отдельный LESS-шаблон, отвечающий за расположение аватара и имени пользователя.
Название шаблона:
hgg_mention_enhancer.less
.hggMentionEnhancer
.hggMentionEnhancer-avatar
.hggMentionEnhancer-name
Основные параметры текущей версии:
display: inline-flex;
align-items: center;
gap: 6px;
white-space: nowrap;
vertical-align: middle;
- Расстояние между аватаром и никнеймом.
- Выравнивание элементов.
- Высоту строки и визуальное положение имени.
- Дополнительные отступы и оформление через собственные CSS/LESS-правила.
Редактирование выполняется непосредственно в LESS-шаблоне. Отдельная страница настроек дополнения в административной панели не предусмотрена.
Для подключения оформления используется штатная система модификаций шаблонов XenForo.
Дополнение регистрирует модификацию:
hgg_mention_enhancer_css
PAGE_CONTAINER
<xf:css src="hgg_mention_enhancer.less" />
Отдельное ручное добавление данного подключения в PAGE_CONTAINER при штатной установке не требуется.
Если используется сильно модифицированный сторонний стиль, рекомендуется проверить корректность применения модификации и внешний вид упоминаний.
Mention Enhancer использует существующие данные пользователей и стандартные механизмы XenForo.
Для своей работы дополнение:
- Не требует регистрации в сторонних сервисах.
- Не создаёт собственную базу данных.
- Не изменяет содержимое пользовательских сообщений в базе данных.
- Не содержит собственного механизма отправки телеметрии.
- Не требует внешнего API для формирования аватаров и никнеймов.
Для установки потребуется XenForo версии 2.3.0 или новее.
Установка через административную панель:
- Скачать ZIP-архив актуальной версии дополнения.
- Открыть административную панель XenForo.
- Перейти в раздел Дополнения.
- Выбрать установку дополнения из архива, если данный механизм включён на сервере.
- Загрузить установочный ZIP и завершить установку.
- Проверить, что дополнение активно и имеет версию 1.1.1.
- Распаковать архив дополнения.
- Открыть каталог upload.
- Скопировать его содержимое в корневую папку установленного XenForo с сохранением структуры каталогов.
- Перейти в административную панель XenForo и выполнить установку обнаруженного дополнения.
- Проверить работу упоминаний в тестовом сообщении.
upload/src/addons/Shum1kh1n/MentionEnhancer/
Shum1kh1n/MentionEnhancer
В версии 1.1.1 изменился идентификатор дополнения.
Старый ID:
Helgring/MentionEnhancer
Shum1kh1n/MentionEnhancer
Если ранее использовалось дополнение со старым ID, рекомендуется:
- Создать резервную копию файлов форума и базы данных.
- Сохранить собственные изменения LESS-шаблона, если они выполнялись.
- Отключить старое дополнение и проверить работу форума.
- Удалить старую версию через административную панель XenForo.
- Удалить оставшийся старый каталог файлов, если он присутствует.
- Установить новую версию с ID Shum1kh1n/MentionEnhancer.
- Проверить отображение упоминаний и работу стилей.
Перед обновлением рабочего форума желательно проверить процедуру на тестовой установке XenForo.
После установки рекомендуется создать тестовое сообщение с упоминанием существующего пользователя.
Проверьте следующие моменты:
- Рядом с никнеймом отображается аватар.
- Имя пользователя остаётся кликабельным.
- Оформление имени соответствует настройкам групп XenForo.
- Несколько упоминаний в одном сообщении отображаются корректно.
- Текст сообщения не содержит нарушенной HTML-разметки.
- На используемом стиле форума не возникает проблем с расположением аватаров и текста.
- Активность дополнения в административной панели.
- Регистрацию расширения XF\BbCode\Renderer\Html.
- Применение модификации шаблона PAGE_CONTAINER.
- Наличие LESS-шаблона hgg_mention_enhancer.less.
- Актуальность кэша стилей XenForo.
- Отсутствие конфликтующих CSS-правил используемого оформления.
Основные файлы релиза расположены следующим образом:
upload/
└── src/
└── addons/
└── Shum1kh1n/
└── MentionEnhancer/
├── addon.json
├── hashes.json
├── icon.png
├── XF/
│ └── BbCode/
│ └── Renderer/
│ └── Html.php
└── _data/
├── class_extensions.xml
├── template_modifications.xml
├── templates.xml
└── ...
- addon.json — метаданные, версия, автор и требования дополнения.
- Html.php — основная логика обработки упоминаний.
- class_extensions.xml — регистрация расширения HTML-рендерера XenForo.
- template_modifications.xml — подключение стилей через PAGE_CONTAINER.
- templates.xml — экспорт LESS-шаблона оформления.
- icon.png — фирменная иконка дополнения.
- hashes.json — контрольные хеши файлов дополнения.
Версия 1.1.1 посвящена обновлению структуры проекта, авторской маркировки и подготовке дополнения к дальнейшему развитию.
Основные изменения:
- Новое название — [Shum1kh1n / Helgring] Mention Enhancer.
- Изменён ID дополнения на Shum1kh1n/MentionEnhancer.
- Обновлена структура каталогов исходного кода.
- Изменены PHP namespace и регистрация расширения класса XenForo.
- Добавлено полноценное русскоязычное описание дополнения.
- Обновлена ссылка на профиль разработчика.
- Сохранена прежняя ссылка технической поддержки.
- Добавлена новая универсальная фирменная иконка Shum1kh1n / Helgring.
- Обновлён файл контрольных хешей hashes.json.
- Сохранены существующие CSS-классы и логика оформления упоминаний.
Разработка:
Форум и поддержка:
Shum1kh1n Channel
© Shum1kh1n / Helgring