• Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываются в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки не работают на форуме

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Скрипт Гайд Фон/кастомный стиль сообщения определённой группы пользователей xenforo

Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
27 009
230
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Совместимость с XenForo: 2.0,2.1.

Задача: Добавить кастомный класс постам на форуме для определенной группы пользователей. Благодаря этому классу назначить стили только для постов, авторы которых находятся в одной группе.

Для выполнения задачи при помощи модификации шаблона добавим всем сообщениям на форуме новый класс вида 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 вернёт айди группы с наибольшим приоритетом оформления. Переменная всегда возвращает только один айди.
 

Поиск по форуму

Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше....