• Данный материал предоставлен сайтом исключительно в ознакомительных целях.
    Администрация не несет ответственности за его содержимое. По всем жалобам пишите на почту abusevhguru@yandex.ru

Мануал 2.x Фон/кастомный стиль сообщения определённой группы пользователей

Статус
В этой теме нельзя размещать новые ответы.

23808

Легенда
Сообщения
1,257
Реакции
923

23808

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

Для выполнения задачи при помощи модификации шаблона добавим всем сообщениям на форуме новый класс вида custom-style-ID, а затем добавим стили для нужных айдишников в extra.less. Так одной модификацией можно стилизовать посты всех групп на форуме — нужно только добавлять css-классы.

1. Добавляем в extra.less примерно такой код
CSS:
.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

1.png
 

Aselial

Новичок
Сообщения
2
Реакции
0

Aselial

  • 2
  • 0
Не работает или я криворукий...
Сделал всё по мануалу, но как итог - никаких изменений. :crying:
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху