- 20.06.2022
- 26 977
- 230
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Совместимость с XenForo: 2.0,2.1.
Задача: Добавить кастомный класс постам на форуме для определенной группы пользователей. Благодаря этому классу назначить стили только для постов, авторы которых находятся в одной группе.
Для выполнения задачи при помощи модификации шаблона добавим всем сообщениям на форуме новый класс вида custom-style-ID, а затем добавим стили для нужных айдишников в extra.less. Так одной модификацией можно стилизовать посты всех групп на форуме — нужно только добавлять css-классы.
1. Добавляем в extra.less примерно такой код
2. Создаём модификацию шаблона в админке admin.php?template-modifications/add
Шаблон: post_macros
Ключ модификации : указываем любой, например custom_change_post_class_per_group
Описание: укажите любое, которое позволит идентифицировать назначение модификации в списке админки
Тип поиска: простая замена
Найти:
Заменить:
Готово. Теперь объясню как это работает.
В модификации используется переменная $post.User.display_style_group_id — это айди группы, оформление которой выводится для пользователя. Если использовать переменную $post.User.user_group_id, то результат будет всегда одинаков — 2 (Registered). Собственно, поэтому и используется $post.User.display_style_group_id.
Для администраторов этот айди равен трём, если у юзера есть дополнительная группа (например, условный премиум, то её айди нужно взять в админке: список групп пользователей → урл нужной группы пользователей → числовое айди), то айди другой. В моём случае на тестовом форуме это ID 6
Если у юзера активно несколько таких дополнительных групп, то переменная $post.User.display_style_group_id вернёт айди группы с наибольшим приоритетом оформления. Переменная всегда возвращает только один айди.
Задача: Добавить кастомный класс постам на форуме для определенной группы пользователей. Благодаря этому классу назначить стили только для постов, авторы которых находятся в одной группе.
Для выполнения задачи при помощи модификации шаблона добавим всем сообщениям на форуме новый класс вида custom-style-ID, а затем добавим стили для нужных айдишников в extra.less. Так одной модификацией можно стилизовать посты всех групп на форуме — нужно только добавлять css-классы.
1. Добавляем в extra.less примерно такой код
Less::
.custom-style-3 {
background: red;
//...
}
2. Создаём модификацию шаблона в админке admin.php?template-modifications/add
Шаблон: post_macros
Ключ модификации : указываем любой, например custom_change_post_class_per_group
Описание: укажите любое, которое позволит идентифицировать назначение модификации в списке админки
Тип поиска: простая замена
Найти:
Код:
<xf:macro name="post" arg-post="!" arg-thread="!">
<xf:css src="message.less" />
<xf:set var="$isIgnored" value="{{ $post.isIgnored() }}" />
<article class="
Заменить:
Код:
$0 custom-style-{$post.User.display_style_group_id}
Готово. Теперь объясню как это работает.
В модификации используется переменная $post.User.display_style_group_id — это айди группы, оформление которой выводится для пользователя. Если использовать переменную $post.User.user_group_id, то результат будет всегда одинаков — 2 (Registered). Собственно, поэтому и используется $post.User.display_style_group_id.
Для администраторов этот айди равен трём, если у юзера есть дополнительная группа (например, условный премиум, то её айди нужно взять в админке: список групп пользователей → урл нужной группы пользователей → числовое айди), то айди другой. В моём случае на тестовом форуме это ID 6

Если у юзера активно несколько таких дополнительных групп, то переменная $post.User.display_style_group_id вернёт айди группы с наибольшим приоритетом оформления. Переменная всегда возвращает только один айди.
Последние темы в этом разделе:
- Баннеры GTA SA + исходник для xenforo
- Как изменить цвет баннеров на форуме XenForo
- Слив баннеров Namalsk rp/Cyber Russia для Xenforo
- Скрипт префиксов с 1wmobile для Xenforo
- Отображение информации о профиле Steam для Xenforo
- Используем DigitalOcean Spaces или Amazon S3 для хранения файлов в Xenforo
- Делаем баннер со скидкой на ресурсы в xenforo
- Скрипт Позволяет добавить систему вкладок на форум Xenforo
- Пользовательский постбит дизайн с эффектом наведения курсора для Xenforo
- Смайлы для XenForo 2000 шт