Как отображать в списке пользователей только пользователей из определённых групп

Автор arisudi, 19 июня 2024, 11:21:44

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

arisudi

Как отображать в списке пользователей только пользователей из определённых групп?
Например, пользователей из групп "Учителя" и "Ученики" и скрыть пользователей из всех остальных групп.

Delysid

Цитата: arisudi от 19 июня 2024, 11:21:44Как отображать в списке пользователей только пользователей из определённых групп?
Например, пользователей из групп "Учителя" и "Ученики" и скрыть пользователей из всех остальных групп.
Пользователи - Группы пользователей - Видимость.

arisudi

Цитата: Delysid от 19 июня 2024, 11:43:58Пользователи - Группы пользователей - Видимость.
Но там нет группы "Зарегистрированные (обычные) пользователи". Именно пользователей из этой группы необходимо скрыть из списка пользователей.

Delysid

Ну так создайте группу новую и привяжите к ней простых пользователей.
Я уже не помню как делал, но принцип я вам подсказал.

arisudi

Спасибо за подсказку.
Я создала новую группу под названием "Тест".
В настройках группы выставила "Видимая (кроме списка групп).
Создала нового пользователя с именем "test" и поместила его в эту новую группу.
Но всё равно этот пользователь отображается в списке пользователей (вместе с названием группы "Тест").

Delysid

Конфигурация - Отображение -  Отображать статус онлайн/оффлайн в сообщениях пользователей.

Ещё вроде как мод был на simplemachines org помогающий не показывать определённые группы.
Нужно думать, в SMF в принципе всё настраивается.

arisudi


arisudi

Вот тут есть решение для SMF 1, но там в коде ничего не понятно. Я в этом не разбираюсь.

Delysid

Перевод по теме:
Можно скрыть группы сообщений для участников, которые назначены в группы, не основанные на публикациях. Просто перейдите в раздел текущей темы вашего Центра администрирования («Центр администрирования» > «Конфигурация» > «Текущая тема») и установите флажок «Скрыть заголовки групп сообщений для сгруппированных участников».

Дальше нечего подсказать, настолько всё мудрёно что до сих пор с настройками тем и групп глухо..

arisudi

Спасибо за ответ. Но мне надо, чтобы в Списке пользователей не отображались все зарегистрированные пользователи, а отображались только пользователи из определённых групп.

arisudi

Неужели не существует решения? Нужно чтобы в Списке пользователей отражать не всех зарегистрированных пользователей, а отражать только пользователей из групп "Учителя" и "Ученики".

Bugo

Вариант «Видимая, кроме списка групп» действует только при отображении групп в списке «Сейчас на форуме», на главной странице.

Чтобы отключить отображение группы еще и в списке пользователей, нужно ручками открыть файл Sources/Memberlist.php, найти в нем функцию printMemberListRows($request) и добавить в конце нее такой код:

    $context['members'] = array_filter($context['members'], function ($mem) {
        return empty(in_array($mem['group_id'], [11, 12]));
    });

Вместо 11, 12 вставить идентификаторы тех групп, которые вы не хотите видеть в списке пользователей.

Соответственно, если наоборот, нужно чтобы отображались пользователи только из заданных групп, код меняется на:

    $context['members'] = array_filter($context['members'], function ($mem) {
        return in_array($mem['group_id'], [11, 12]);
    });